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 le faire ?
Réponses
Trop de publicités?Si vous êtes sur un système Linux, je vous propose une méthode d'essai et d'erreur, basée sur l'hypothèse que l'archive auto-extractible contient une simple séquence de code exécutable et de données brutes compressées. Essayez simplement la commande Shell suivante :
for n in `seq 1 2000`; do echo $n; dd ibs=256 if=mysfx.exe count=2 skip=$n | file - ; done 2>/dev/null |less
La séquence de commandes indiquée lit quelques octets à des intervalles croissants depuis le début de votre fichier et les transmet à la commande file
pour détecter le format de la séquence d'octets commençant à ce décalage.
Vous devez examiner chaque ligne produite par le programme file
La plupart d'entre eux ressembleront à /dev/stdin: data
Si, sur une ligne, vous reconnaissez un format de fichier compressé connu, il y a des chances que les données compressées brutes commencent à cet endroit.
Ainsi, si, par exemple, vous voyez une ligne comme :
420
Zip archive data, at least v2.0 to extract
indiquant que quelque chose de similaire à un fichier zip a été identifié à l'offset 420*256, il suffit alors d'émettre :
dd ibs=256 if=mysfx.exe skip=420 of=mysfx.zip
pour récupérer le fichier zip brut. Cela devrait fonctionner avec différents compresseurs de fichiers. Il a été testé avec succès avec l'archive auto-extractible 7z avec l'offset 814*256.
Si vous n'obtenez aucun résultat, vous pouvez essayer d'ajuster les valeurs 2000
(nombre de décalages essayés) et 256 (pas de décalage en octets) dans les commandes ci-dessus.
J'ai eu un problème similaire, un exécutable SFX, qui exécute un exe qui vous permet ensuite d'exécuter les fichiers dans l'archive. L'ouverture de l'exe dans 7zip montre qu'il est protégé par un mot de passe. J'ai cherché une solution, le mot de passe doit être stocké dans une sorte d'en-tête... En lisant ce fil de discussion, une solution alternative m'est venue à l'esprit.
Exécutez l'exe, puis vérifiez C:\windows\temp trier par date et trouver le dossier dans lequel l'exe a été extrait, il y a les fichiers à l'intérieur du zip. Sortez-les et remettez-les dans le zip. Viola ! vous avez un zip de l'exe, sans mot de passe.
- Réponses précédentes
- Plus de réponses