Décompiler Python 2.7 .pyc
J'ai cherché haut et bas, mais ne peut pas trouver un de-compilateur qui va travailler pour Python 2.7 .pyc. Quelqu'un en connais une qui va travailler pour Python 2.7? Grâce
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR (2019-04-22) - On dirait que vous voulez utiliser uncompyle6 aujourd'hui, plutôt que les réponses que j'avais mentionnés à l'origine.
Cela sonne comme il fonctionne: http://code.google.com/p/unpyc/
Question 8, dit-il prend en charge 2.7: http://code.google.com/p/unpyc/updates/list
Mise à JOUR (2013-09-03) - Comme indiqué dans les commentaires et dans d'autres réponses, vous devriez regarder https://github.com/wibiti/uncompyle2 ou https://github.com/gstarnberger/uncompyle au lieu de unpyc.
ubuntu17.04
,python2.7.13
)uncompyle6
est un plus à jour de l'outil de, soutien de Python 2.7 et 3.x - voir cette réponse pour plus d'Au cas où quelqu'un est toujours de la difficulté avec cela, comme je l'ai été toute la matinée d'aujourd'hui, j'ai trouvé une solution qui fonctionne pour moi:
Uncompyle
Les instructions d'Installation:
Une fois le programme installé (note: il sera installé sur votre système à l'échelle accessibles les paquets Python, de sorte qu'il devrait être dans votre
$PATH
), vous pouvez récupérer vos fichiers Python comme suit:Le decompiler ajoute un peu de bruit le plus souvent sous forme de commentaires, mais je l'ai trouvé étonnamment propre et fidèle à mon code d'origine. Vous devrez retirer un peu de la ligne de texte commençant par +++ près de la fin du fichier récupéré pour être en mesure d'exécuter votre code.
Decompyle++ (pycdc) semble fonctionner pour une gamme de versions de python: https://github.com/zrax/pycdc
Par exemple:
Ici est un excellent outil pour décompiler pyc fichiers.
Il a été codé par moi et prend en charge python 1.0 - 3.3
Il est basé sur uncompyle2 et decompyle++
http://sourceforge.net/projects/easypythondecompiler/
Ned Batchelder a posté un bref script qui unmarshal un .pyc fichier et de désassembler le code des objets au sein, de sorte que vous serez en mesure de voir le bytecode Python.
Ça ressemble à de nouvelles versions de Python, vous aurez besoin de commenter les lignes qui définissent
modtime
et l'imprimer (mais ne pas commenter la ligne qui définitmoddate
).Tournant que de retour en source Python serait un peu plus difficile, bien que théoriquement possible. Je suppose que tous ces programmes de travail pour les anciennes versions de Python le faire.