py2exe decompilieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
init-0
User
Beiträge: 38
Registriert: Samstag 22. Januar 2011, 18:46

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?
dark-lion
User
Beiträge: 46
Registriert: Mittwoch 25. April 2012, 14:22

Hallo.
probier mal diesen link: http://www.crazy-compilers.com/decompyle/service.html
Aber er kostet 10$. Das ist blöd.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Mehr als Bytecode wirst du da nicht rausbekommen. Der Original-Quelltext ist nicht wiederherstellbar.
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.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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.
the more they change the more they stay the same
Antworten