Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Joinen und Splitten von Dateien

  Alt 27. Jul 2007, 18:28
Hallo Tommy,

um mehr als eine Datei an eine EXE-Datei anhängen zu können musst du mehr als nur die Größe der Echse speichern. Die könntest du sogar aus dem PE-Header ableiten, aber nehmen wir ruhig an, dass du sie weiterhin ans Ende schreibst. Ich würde dann folgendes Format vorschlagen. Die wesentlichen Abschnitte der Datei fasse ich in eckige Klammern:

[EXE] [SIZE-1] [FILE-1] [SIZE-2] [FILE-2] [SIZE-EXE]

Außerdem würde ich die Größenangaben gleich als DWORD oder QWORD schreiben.

So solltest du keine Probleme haben deine Dateien wieder zu extrahieren. Eventuell möchtest du sogar die Relativnamen mit abspeichern:

[EXE] [SIZE-0] [NAME-TABLE] [SIZE-1] [FILE-1] [SIZE-2] [FILE-2] [SIZE-EXE]

Die NAME-TABLE könntest du in Form des Process Environment speichern: Jeder Eintrag wird als NUL terminierter String gespeichert, der letzte String ist ein leerer.

Eine mögliche Alternative zu dieser Vorgehensweise stellen Alternate Data Streams dar.

Grüße vom marabu
  Mit Zitat antworten Zitat