Antworten:
Uncompyle6 funktioniert für Python 3.x und 2.7 - empfohlene Option als neuestes Tool, mit dem Ziel, frühere Gabeln zu vereinheitlichen und sich auf automatisierte Komponententests zu konzentrieren. Die GitHub-Seite enthält weitere Details.
Der ältere Uncompyle2 unterstützt nur Python 2.7. Dies hat vor einiger Zeit für mich gut funktioniert, um den .pyc-Bytecode in .py zu dekompilieren, während unpyclib mit einer Ausnahme abstürzte.
Mit all diesen Tools erhalten Sie Ihren Code einschließlich der Variablennamen zurück, jedoch ohne die Kommentare.
Ja, Sie können es damit bekommen unpyclib
, finden Sie auf pypi .
$ pip install unpyclib
Dann können Sie Ihre .pyc-Datei dekompilieren
$ python -m unpyclib.application -Dq path/to/file.pyc
print __copyright
- warum wird die Python 2.7-Version print
ohne Klammern verwendet?
unpyclib
Die erste und letzte Veröffentlichung von @DavidChing war im Jahr 2009 , man kann mit Sicherheit sagen, dass es sich nur um ein Python 2-Programm handelt.
Sie können Easy Python Decompiler ausprobieren . Es basiert auf Decompyle ++ und Uncompyle2. Es unterstützt das Dekompilieren von Python-Versionen 1.0-3.3
Hinweis: Ich bin der Autor des oben genannten Tools.
Decompyle ++ (pycdc) war das einzige, das für mich funktioniert hat: https://github.com/zrax/pycdc
Ja, es ist möglich.
Es gibt einen perfekten Open-Source-Python-Dekompiler (.PYC) namens Decompyle ++ https://github.com/zrax/pycdc/
Decompyle ++ zielt darauf ab, kompilierten Python-Bytecode wieder in gültigen und lesbaren Python-Quellcode zu übersetzen. Während andere Projekte dies mit unterschiedlichem Erfolg erreicht haben, ist Decompyle ++ insofern einzigartig, als es versucht, Bytecode aus jeder Version von Python zu unterstützen.
Ja .
Ich verwende uncompyle6 decompile (unterstütze sogar das neueste Python 3.8.0):
uncompyle6 utils.cpython-38.pyc > utils.py
und der Vergleich von Ursprungspython und dekompiliertem Python sieht folgendermaßen aus:
Sie können also sehen, dass fast der gleiche Dekompilierungseffekt SEHR GUT ist .
Installation mit pip install pycompyle6
pycompyle6 filename.pyc