Seite 1 von 1

py2exe decompilieren

Verfasst: Freitag 6. Januar 2012, 13:32
von init-0
Hallo,

Ich habe ein Programm geschrieben, dass ich mit py2exe decompiliert habe. Dummerweise habe ich davon den Sourcecode verloren.
In anderen Foren habe ich auch gelesen, dass es möglich sein müsste,dass man aus der exe wieder den sourcecode bekommt.
In der Datei library.zip sind ja auch die Python Module, die aus dem Programm importiert werden, aber leider die datei main.py nicht.
Ich habe zuerst gedacht mit Trundles exetractor script würde das funktionieren, aber da bekomme ich nur eine Datei, deren Inhalt so aussieht heraus:

Code: Alles auswählen

  2           0 LOAD_CONST               0 (-1)
              3 LOAD_CONST               1 (('Ui_MainWindow',))
              6 IMPORT_NAME              0 (gui)
              9 IMPORT_FROM              1 (Ui_MainWindow)
             12 STORE_NAME               2 (Gui)
             15 POP_TOP             
Gibt es eine Möglichkeit, das Programm zu decompilieren, oder muss ich das ganz neu schreiben?

Re: py2exe decompilieren

Verfasst: Montag 17. September 2012, 19:03
von dark-lion
Hallo.
probier mal diesen link: http://www.crazy-compilers.com/decompyle/service.html
Aber er kostet 10$. Das ist blöd.

Re: py2exe decompilieren

Verfasst: Montag 17. September 2012, 19:21
von snafu
Mehr als Bytecode wirst du da nicht rausbekommen. Der Original-Quelltext ist nicht wiederherstellbar.

Re: py2exe decompilieren

Verfasst: Montag 17. September 2012, 19:26
von lunar
@snafu Man kann den Quelltext weitestgehend wiederherstellen. Lokale Namen und Kommentare sind weg, doch der Rest lässt sich aus Bytecode reproduzieren. Kostet halt nur was, denn freie Decompiler gibt es nicht.

Re: py2exe decompilieren

Verfasst: Montag 17. September 2012, 19:29
von snafu
lunar hat geschrieben:@snafu Man kann den Quelltext weitestgehend wiederherstellen. Lokale Namen und Kommentare sind weg, doch der Rest lässt sich aus Bytecode reproduzieren. Kostet halt nur was, denn freie Decompiler gibt es nicht.
Hatte ich dann nach kurzer Recherche auch erfahren. Bin ich eigentlich nicht von ausgegangen, aber anscheinend gehört Python zu den Sprachen, wo vieles auch nach dem Kompilieren noch vorhanden bleibt. Oder sagen wir mal besser: Beim CPython-Compiler bleibt offenbar viel erhalten. Das muss ja für PyPy nicht unbedingt genau so gelten.

Re: py2exe decompilieren

Verfasst: Dienstag 18. September 2012, 08:45
von jens
Paar infos gibt es auch im Wiki unter "[KOPF]Ich will aber unbedingt einen Compiler!", hier: http://wiki.python.de/FAQ#Wo_gibt_es_ei ... ompiler.3F

Re: py2exe decompilieren

Verfasst: Dienstag 18. September 2012, 21:33
von Dav1d
lunar hat geschrieben:@snafu Man kann den Quelltext weitestgehend wiederherstellen. Lokale Namen und Kommentare sind weg, doch der Rest lässt sich aus Bytecode reproduzieren. Kostet halt nur was, denn freie Decompiler gibt es nicht.
Doch den gibt es. Allerdings, fällt mir der Name gerade nicht ein, ich denke, den hier habe ich immer verwendet: https://github.com/wibiti/uncompyle2.