Comment extraire ZIP d'un exe auto-extractible?


18

Eh bien, le sujet dit tout. J'ai un exe qui est un SFX, et je veux extraire le ZIP du SFX. Comment puis je faire ça?

Réponses:


16

7-Zip devrait être capable de le faire. Vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner "Ouvrir les archives" ou naviguer vers le fichier dans 7-Zip et cliquer avec le bouton droit et sélectionner "Ouvrir à l'intérieur".


@Darcs: Je ne peux pas ouvrir l'archive car le zip est crypté avec un mot de passe. Je veux juste extraire le zip de l'exe, sans dézipper au milieu.
TCS

Je ne peux pas dire si cela fonctionnera pour votre fichier, mais simplement changer l'extension de .exe en .zip semblait bien fonctionner pour moi. Il contiendra toujours les parties exécutables du fichier, mais 7-Zip semble parfaitement heureux de l'ignorer.
Dracs

7-zip va l'ouvrir et le reconnaître, mais je ne veux pas de la partie exe dans le fichier (purement zip, que son en-tête est PK, et non MZ comme un exe).
TCS

1
J'ai réussi à le faire en utilisant un éditeur hexadécimal. Le fichier zip brut et le SFX modifié sont identiques. Le processus que j'ai fait était de rechercher l'en-tête du fichier zip dans le SFX. Pour 7-Zip, cela semble être 37 7A BC, j'ai fait une recherche pour la dernière occurrence de celui-ci. Ensuite, j'ai tout supprimé avant. Cela semble me donner un fichier identique à la fermeture éclair de mon fichier de test par lui-même. Si vous avez besoin d'un éditeur hexadécimal, j'ai utilisé XVI32 . Faites-moi savoir si cela fonctionne pour vous ou si vous avez besoin d'aide.
Dracs

1
S'il s'agit d'une ZIParchive au format approprié , la bonne façon de localiser les données est de localiser l'en-tête du répertoire central par son numéro magique de quatre octets et de lire le répertoire central pour trouver le premier en-tête de fichier.
JdeBP

8

Sous Linux c'est possible avec l'utilitaire "zip":

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

Avertissement: la ligne suivante modifie le fichier .exe d'origine pour en faire une archive zip pure sans les parties exe!

$ 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.
...

2

Sous Linux, s'il est têtu et

zip -J file.exe

ne le transforme pas en zip extractible car la partie non zip n'est pas simplement ajoutée, voir la page de manuel:

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

alors l'utilitaire zip a deux autres options utiles:

   -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.

Alors essayez

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

et si cela échoue

zip -FF file.exe --out extracted.zip

1

Je n'ai pas encore vu un programme de manipulation de zip qui ne peut pas faire cela. Les archives auto-extractibles sont également des fichiers zip valides, juste avec un tas de choses supplémentaires en eux (l'extracteur).

Vous constaterez probablement que vous ne pouvez pas sélectionner l'utilitaire pour ouvrir le fichier, mais si vous exécutez simplement l'utilitaire, puis sélectionnez le fichier, cela fonctionne.


Comment le feriez-vous avec l'utilitaire par défaut "Dossiers compressés" de Windows?
Cowlinator

@cowlinator Aucune idée. Il y a très longtemps, j'ai trouvé le buggy du gestionnaire intégré et je n'ai pas essayé de l'utiliser depuis.
Loren Pechtel

0

Vous pouvez ouvrir un fichier SFX avec WinZip si vous souhaitez accéder aux fichiers qu'il contient. Vous n'avez pas besoin d'exécuter le fichier.

Il semble qu'une gamme d'autres utilitaires de compression ouvriront également des fichiers SFX.


Je ne veux pas décompresser le fichier (il est protégé par mot de passe), je veux juste extraire le zip de l'exe.
TCS

Cela le fera pour vous. Ouvrez dans WinZip et enregistrez l'archive sous quelque
chose.zip

0

J'ai eu un problème similaire, un exécutable SFX, qui exécute essentiellement un exe qui vous permet ensuite d'exécuter les fichiers dans l'archive. L'ouverture d'exe dans 7zip montre qu'il est protégé par mot de passe. J'ai cherché une solution, elle doit stocker le mot de passe dans une sorte d'en-tête ... En lisant ce fil, une solution alternative m'est venue.

Exécutez l'exe, puis vérifiez C: \ windows \ temp trier par date et recherchez le dossier dans lequel l'exe a été extrait, il y a les fichiers à l'intérieur du zip. Retirez-les et fermez-les. Alto! vous avez un zip de l'exe, sans mot de passe.


0

Si vous avez affaire à des jeux gog.com, utilisez Innoextract . unzip, unrar, 7zip et autres ne fonctionnent pas pour moi.


Les autres programmes zip ne fonctionnent-ils PAS avec les fichiers GOG? Les fichiers GOG sont-ils auto-extractibles?
music2myear
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.