Convertir un fichier .exe en fichier .pl en Perl?

J’essaie d’obtenir un script Perl (.pl) à partir d’un fichier exécutable (.exe). Le fichier .exe était à l’origine codé en Perl mais le fichier .pl n’était pas conservé. Y a-t-il un moyen rapide de le faire? J’utilise Strawberry Perl pour Windows.

Merci

Renommez .exe à .zip et vérifiez si les fichiers peuvent être extraits

De la FAQ PAR :

Comment extraire mon script de l’exécutable emballé?

En d’autres termes, “j’ai fait un pp foo.pl et j’ai perdu foo.pl, comment puis-je le récupérer?”.

La réponse est de simplement utiliser unzip / winzip / winrar / what pour décompresser l’exécutable, en le traitant comme un fichier Zip normal. Vous devrez peut-être renommer l’exécutable en une extension .zip en premier.

pp s’appuie sur PAR pour créer l’exécutable. PAR s’appuie sur Archive :: Zip, donc à un certain niveau, le fichier contient des copies zippées des scripts perl utilisés pour créer l’exécutable.

En règle générale, ces programmes associent un chargeur au début d’une archive zip qui décompresse les fichiers en un répertoire temporaire et appelle le script indiqué comme point d’entrée du programme.

J’essayais deux choses:

  • rooter dans tous les répertoires Temp typiques (\ Users \ Username \ AppData \ Local \ Temp par exemple) pour un répertoire contenant votre script et ses pré-sites.

  • essayez de décompresser le fichier sous forme de fichier zip, en supprimant éventuellement le chargeur du début du programme, en utilisant un éditeur d’octets.