Wie extrahiere ich ZIP aus einer selbstextrahierenden exe?

18

Nun, das Thema sagt alles. Ich habe eine Exe, die eine SFX ist, und ich möchte die ZIP aus der SFX extrahieren. Wie kann ich das machen?

TCS
quelle

Antworten:

16

7-Zip sollte dazu in der Lage sein. Sie können mit der rechten Maustaste auf die Datei klicken und "Archiv öffnen" auswählen oder innerhalb von 7-Zip zur Datei navigieren und mit der rechten Maustaste klicken und "Innerhalb öffnen" auswählen.

Dracs
quelle
@Darcs: Ich kann das Archiv nicht öffnen, da die Zip-Datei mit einem Passwort verschlüsselt ist. Ich möchte nur den Reißverschluss aus der Exe extrahieren, ohne ihn in der Mitte zu entpacken.
TCS
Ich kann nicht sagen, ob es für Ihre Datei funktioniert, aber die Erweiterung von .exe in .zip zu ändern, schien für mich in Ordnung zu sein. Es wird weiterhin die ausführbaren Teile der Datei enthalten, aber 7-Zip scheint vollkommen glücklich zu sein, sie zu ignorieren.
Dracs
7-zip öffnet sich und erkennt es, aber ich möchte nicht, dass der exe-Teil in der Datei enthalten ist (rein zip-Datei, deren Header PK ist und nicht MZ wie eine exe).
TCS
1
Ich habe das mit einem Hex-Editor geschafft. Die einfache Zip-Datei und die bearbeitete SFX sind identisch. Ich habe nach dem Header der Zip-Datei in der SFX gesucht. Für 7-Zip scheint dies 37 7A vor Christus zu sein, ich habe nach dem letzten Vorkommen gesucht. Dann habe ich alles vorher gelöscht. Dies scheint mir eine Datei zu geben, die mit dem eigentlichen Zippen meiner Testdatei identisch ist. Wenn Sie einen Hex-Editor benötigen, habe ich XVI32 verwendet . Lassen Sie mich wissen, ob es bei Ihnen funktioniert oder ob Sie weitere Hilfe benötigen.
Dracs
1
Wenn es sich um ein ZIPArchiv mit geeignetem Format handelt, müssen Sie den Header des zentralen Verzeichnisses anhand seiner magischen 4-Byte- Zahl lokalisieren und das zentrale Verzeichnis lesen, um den ersten Datei-Header zu finden.
JdeBP
8

Unter Linux ist es mit dem Dienstprogramm "zip" möglich:

$ file london_f.exe
london_f.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

Warnung: In der nächsten Zeile wird die ursprüngliche EXE-Datei so geändert, dass ein reines ZIP-Archiv ohne die exe-Teile erstellt wird.

$ zip -J london_f.exe
$ file london_f.exe
london_f.exe: Zip archive data, at least v1.0 to extract
$ zip --version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
...
user2771443
quelle
2

Unter Linux, wenn es hartnäckig ist und

zip -J file.exe

verwandelt es nicht in eine ausziehbare Zip-Datei, da der Nicht-Zip-Teil nicht nur vorangestellt ist (siehe Handbuchseite):

   -J
   --junk-sfx
          Strip any prepended data (e.g. a SFX stub) from the archive.

dann hat das zip-Dienstprogramm zwei weitere nützliche Optionen:

   -F
   --fix
   -FF
   --fixfix
          Fix the zip archive. The -F option can be used if some portions of the archive are missing, but requires a reasonably intact  central  directory.   The
          input archive is scanned as usual, but zip will ignore some problems.  The resulting archive should be valid, but any inconsistent entries will be left
          out.

          When doubled as in -FF, the archive is scanned from the beginning and zip scans for special signatures to identify the limits between the archive  mem‐
          bers. The single -F is more reliable if the archive is not too much damaged, so try this option first.

          If  the  archive is too damaged or the end has been truncated, you must use -FF.  This is a change from zip 2.32, where the -F option is able to read a
          truncated archive.  The -F option now more reliably fixes archives with minor damage and the -FF option is needed to fix archives where -F  might  have
          been sufficient before.

          Neither  option  will recover archives that have been incorrectly transferred in ascii mode instead of binary. After the repair, the -t option of unzip
          may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip.

          Note that -FF may have trouble fixing archives that include an embedded zip archive that was stored (without compression) in the archive and, depending
          on the damage, it may find the entries in the embedded archive rather than the archive itself.  Try -F first as it does not have this problem.

          The format of the fix commands have changed.  For example, to fix the damaged archive foo.zip,

                 zip -F foo --out foofix

          tries  to read the entries normally, copying good entries to the new archive foofix.zip.  If this doesn't work, as when the archive is truncated, or if
          some entries you know are in the archive are missed, then try

                 zip -FF foo --out foofixfix

          and compare the resulting archive to the archive created by -F.  The -FF option may create an inconsistent archive.  Depending on what is damaged,  you
          can then use the -F option to fix that archive.

          A split archive with missing split files can be fixed using -F if you have the last split of the archive (the .zip file).  If this file is missing, you
          must use -FF to fix the archive, which will prompt you for the splits you have.

          Currently the fix options can't recover entries that have a bad checksum or are otherwise damaged.

Also versuche

zip -F file.exe --out extracted.zip

und wenn das fehlschlägt

zip -FF file.exe --out extracted.zip
Niemand
quelle
1

Ich habe noch kein Zip-Manipulationsprogramm gefunden, das dies nicht kann. Selbstentpackende Archive sind ebenfalls gültige ZIP-Dateien, nur mit einigen zusätzlichen Inhalten (dem Extraktor).

Sie werden wahrscheinlich feststellen, dass Sie das Dienstprogramm nicht zum Öffnen der Datei auswählen können, aber wenn Sie das Dienstprogramm einfach ausführen und dann die Datei auswählen, die funktioniert.

Loren Pechtel
quelle
Wie würden Sie es mit dem in Windows standardmäßig integrierten Dienstprogramm "Compressed Folders" machen?
Cowlinator
@cowlinator Keine Ahnung. Vor langer, langer Zeit habe ich den eingebauten Handler-Buggy gefunden und seitdem nicht mehr versucht, ihn zu benutzen.
Loren Pechtel
0

Sie können eine SFX-Datei mit WinZip öffnen, wenn Sie auf die darin enthaltenen Dateien zugreifen möchten. Sie müssen die Datei nicht ausführen.

Es sieht so aus, als würden eine Reihe anderer Komprimierungsprogramme ebenfalls SFX-Dateien öffnen.

Rory Alsop
quelle
Ich möchte die Datei nicht dekomprimieren (sie ist passwortgeschützt), sondern nur die ZIP-Datei aus der EXE-Datei extrahieren.
TCS
Das wird es für dich tun. Öffne in WinZip und speichere das Archiv als something.zip
Rory Alsop
0

Ich hatte ein ähnliches Problem, eine ausführbare SFX-Datei, die im Grunde genommen eine EXE-Datei ausführt, mit der Sie die Dateien im Archiv ausführen können. Das Öffnen von exe in 7zip zeigt, dass es durch ein Passwort geschützt ist. Ich habe nach einer Lösung gesucht, sie muss das Passwort in einer Art Header speichern ... Beim Lesen dieses Threads ist mir eine alternative Lösung eingefallen.

Führen Sie die exe aus, überprüfen Sie dann C: \ windows \ temp nach Datum sortieren und suchen Sie den Ordner, in den die exe extrahiert wurde. Dort befinden sich die Dateien im Zip. Nehmen Sie sie heraus und machen Sie sie wieder zu. Viola! du hast eine zip der exe, ohne passwort.

PhilFCS
quelle
0

Wenn Sie sich mit gog.com-Spielen beschäftigen, verwenden Sie Innoextract . unzip, unrar, 7 - Zip und andere nicht für mich arbeiten.

Robert
quelle
Funktionieren andere Zip-Programme NICHT mit GOG-Dateien? Sind GOG-Dateien selbstextrahierend?
music2myear