AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Stream in Hexcode umwandeln und zurück
Thema durchsuchen
Ansicht
Themen-Optionen

Stream in Hexcode umwandeln und zurück

Ein Thema von Aljoscha · begonnen am 24. Aug 2009 · letzter Beitrag vom 26. Aug 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#11

Re: Stream in Hexcode umwandeln und zurück

  Alt 26. Aug 2009, 12:21
Du weißt aber, daß so die Dateidaten um das Doppelte größer werden?

Außerdem braucht man dann nichtmal mehr 'nen ResEditor, da man sich sogar mit dem billigen Notepad die Daten aus der EXE ziehen kann ... denn was Auffälligeres, als ein ellen langes Stück HexCode in einer Exe, gibt es kaum.

Willst du dann nach dem Zurückladen die DLL wieder auf die Platte speichern, um sie auszuführen?
Wenn ja, dann kannst du sie auch in den Resourcen drinnen lassen, da man sich die DLL ja spätestens dann besorgen kann, wenn du/dein Programm sie speichert (egal wie schnell du die DLL wieder löschst).

Und selbst wenn du die DLL nicht erst speicherst, sondern direkt in den RAM lädst, dann kopier ich mir einfach diese Datei aus dem Anwendungsspeicher ... Fazit: ich bin schneller mit kopieren, als dir Möglichkeiten einfallen, mir dieses schwerer zu machen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#12

Re: Stream in Hexcode umwandeln und zurück

  Alt 26. Aug 2009, 12:55
Zitat von Aljoscha:
Vielen Dank für die Antwort!
Das werde ich auch noch probieren, aber jetzt würde ich gerne erstmal den Fehler bei der Base64-codierung finden
Ich habe immernoch nicht herausgefunden, warum es am Ende 4 Bytes mehr sind
Ohne jetzt genauer geschaut zu haben, wird die codierte Datei offensichtlich um 4 Byte größer, wenn sich die Länge nicht durch 3 teilen lässt.

Delphi-Quellcode:
//Ausschnitt aus der Base64-Unit
function CalcEncodedSize(InSize: Cardinal): Cardinal;
begin
  // no buffers passed along, calculate outbuffer size needed
  Result := (InSize div 3) shl 2;
  if ((InSize mod 3) > 0)
  then Inc(Result, 4);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#13

Re: Stream in Hexcode umwandeln und zurück

  Alt 26. Aug 2009, 13:07
dafür sollte man sich mal die Spezifikation zu Base64 ansehn

dort werden je 3 Zeichen in 4 Byte gepeichert und da es im System keine Längenangabe und auch keine fehlenden Bits gibt, wird alles auf 3 Byte aufgerundet und hinten noch entsprechend Markerzeichen angehängt, welche angeben, wieviele der zuviel dekodierten Zeichen entfernt werden müssen
also ist der Datenstom demzufplge auch mal bis zu 4 Byte länger, als die enthaltenen Daten in ihrer konvertierten Form belegen würden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#14

Re: Stream in Hexcode umwandeln und zurück

  Alt 26. Aug 2009, 15:29
Vielen Dank für eure Zahlreichen Antworten!
Ich habe jetzt die Unit SZCodeBaseX verwendet, mit der geht es Problemlos!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz