[gelöst] Zugriff (lesend/extrahierend) auf self extracting Zip/Exe Datei

Rund um die LCL und andere Komponenten
Antworten
Helios
Lazarusforum e. V.
Beiträge: 120
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 4.0 Windows 10 64Bit / Arch Linux 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

[gelöst] Zugriff (lesend/extrahierend) auf self extracting Zip/Exe Datei

Beitrag von Helios »

Hallo zusammen,
ich möchte gerne aus einem selbstextrahierenden Zip also einem *.exe File bestimmte Unterverzeichnisse (die ich vorher anhand ihres Namens suchen muss) extrahieren (siehe erster Ansatz im Anhang).
Wenn ich die *.exe Datei umbenenne in ein *.zip und dann mit 7Zip öffne erhalte ich zuerst eine etwas kryptisches Root Verzeichnis, aber darunter finde ich dann meine Daten. Wenn ich mir den Inhalt der selbst extrahierenden exe nun Zip-Datei über TUnzip anzeigen will bekomme ich eine "Corrupt Zip File" Fehlermeldung. Hat jemand von euch es schon mal geschafft aus einem selbstextrahierenden File Daten aus Unterverzeichnissen mit Free Pascal herauszulesen?
Vielen Dank schon mal im Voraus
Helios
Dateianhänge
DataUnzipper.zip
(139.26 KiB) 3587-mal heruntergeladen
Zuletzt geändert von Helios am Mo 20. Mai 2024, 15:24, insgesamt 1-mal geändert.

Helios
Lazarusforum e. V.
Beiträge: 120
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 4.0 Windows 10 64Bit / Arch Linux 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Zugriff (lesend/extrahierend) auf self extracting Zip/Exe Datei

Beitrag von Helios »

Hallo zusammen,
das Thema hatte mich im April beschäftigt. Mittlerweile gibt es einen weiteren interessanten Thread hier im Forum:
viewtopic.php?f=18&t=15682
auf den ich gerne hinweisen möchte.
Meine Lösung (etwas hemdsärmlich) zum 7zip basiert auf den Kommandozeilenoptionen von 7z.exe. (siehe Anhang).
Vielleicht für den einen oder anderen interessant, wenn er in große exe/SFX Dateien selektiv hineinschauen
und auswerten muss, aber nicht das gesamte selbstextrahierende File entpacken will/kann.
Achtung! Das Programm erzeugt/überschreibt ein temporäres Verzeichnis .\tmp im Arbeitsverzeichnis.
Schöne Restpfingsten noch!
Helios
Dateianhänge
ExeUnzip.zip
(3.39 KiB) 18-mal heruntergeladen

Antworten