Die Erkundung und Dekompilierung python-bytecode
Können sagen, ich habe:
>>> def test(a):
>>> print a
Nun, ich erkunden wollen sehen, wie der test aussieht, wie in seiner kompilierten form.
>>> test.func_code.co_code
'|\x00\x00GHd\x00\x00S'
Bekomme ich den demontiert Formular mit dem dis Modul:
>>> import dis
>>> dis.dis(test)
2 0 LOAD_FAST 0 (a)
3 PRINT_ITEM
4 PRINT_NEWLINE
5 LOAD_CONST 0 (None)
8 RETURN_VALUE
Ist es ein opensource und gepflegt decompiler die ich verwenden könnte, um drehen Sie den bytecode wieder in lesbaren python-code?
update: vielen Dank für die Annahme, dekompilieren, aber es ist veraltet (python2.3) und niemand hält Sie es nicht mehr. Gibt es etwas, für python2.5 oder später?
InformationsquelleAutor | 2009-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
UnPyc
http://sourceforge.net/projects/unpyc/
Es ist ein gepflegtes Gabel des alten decompyle aktualisiert, um die Arbeit mit 2.5 und 2.6.
InformationsquelleAutor
bekommen uncompyle2 von github! 🙂
InformationsquelleAutor nokarmawhore
Gibt es jetzt auch uncompyle6, die in Python geschrieben ist und pycdc, die in C++ geschrieben ist.
Beide Bearbeiten Sie mehrere Versionen von Python bytecode einschließlich Python 2 Versionen und Python-3-Versionen.
InformationsquelleAutor rocky
decompyle
InformationsquelleAutor Shay Erlichmen
Uncompyle2 bei mir funktioniert mit Python 2.7.
https://github.com/wibiti/uncompyle2
Schnelle wie zu verwenden uncompyle2 , Installieren Sie es und klicken
Erzeugen, source-code wieder in decompile.py
InformationsquelleAutor DevC
Zusätzlich zu dem, was DevC schrieb:
Uncompyle2 funktioniert mit Python 2.7
mit Uncompyle2, Sie können auch un-kompilieren von der Befehlszeile aus:
$ uncompyle2 zusammengestellt.pyc >> source.uncompyle2.py
installieren Uncompyle2, tun
$ git clone https://github.com/wibiti/uncompyle2
$ cd uncompyle2
$ sudo ./setup.py installieren
InformationsquelleAutor Maxim