programm verändern

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
someone
User
Beiträge: 6
Registriert: Mittwoch 7. Januar 2009, 00:00

Hallo zusammen,
kann mir jemand sagen wie man ein in python programmiertes programm (version 2.5) einliest so dass man es verändern kann?
danke im voraus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo someone, willkommen im Forum,

ja, ist ganz einfach. Du öffnest das Programm in einem Editor und änderst es nach Belieben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
someone
User
Beiträge: 6
Registriert: Mittwoch 7. Januar 2009, 00:00

mein problem hätt ich wohl besser beschreiben sollen, ich habe nur die exe-datei, also das programm....und eben python, aber ich glaube das kann man nicht einfach so decompilieren, es wird wohl verschlüsselt sein.
und dann weiß ich nicht woher ich so einen editor kriegen soll....bin da leider nicht versiert-will es aber werden!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Was ist es denn für ein Programm und wozu willst du es denn editieren?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
someone
User
Beiträge: 6
Registriert: Mittwoch 7. Januar 2009, 00:00

ach ist ein kleines spielzeug, geht eigentlich mehr um eine wette mit einem freund....was es genau macht weiß ich nicht, ich kann auch nicht in python programmieren, aber ich denke wenn ich den quellcode sehe kann ich es "umbauen" !
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ein binary "umzubauen" geht nicht mal ebenso ... du musst es decompilieren und das spuckt dir maximal Assembler aus ;) Wenn du allerdings sicher weisst, dass das in Python geschrieben ist und mit py2exe zu einer exe gebaut wurde müsstest du dir mal das Format anschauen, das py2exe ausspuckt, evtl ist das eine Art Zip-Archiv, aber mit py2exe kenn ich mich nicht aus - wenn du Pech hast wirds haarig.

Die andere Seite ist die rechtliche, wenn die Lizenzen das nicht erlauben, darfst du das auch nicht machen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Der Quellcode wäre aber eher eine Assembler-Datei und eine Zip-Datei in der Python-Bytecode (vermutlich als pyo-Dateien) drin ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Wenn es mit py2exe erstellt wurde und man die gleiche Python-Version benutzt, kann man das hier relativ gut mit ctypes nachbauen. Damit käme man an das Hauptskript, dessen Bytecode man dann mit dem [mod]dis[/mod]-Modul analysieren kann. Dann muss man sich eben nur noch neuen bauen und wieder einfügen. Einfacher wäre es natürlich, wenn der zu ändernde Code in der Library-Zip steckt.

Also.. wenn man *wirklich* will, geht das schon, ein kleines bisschen Wissen vorausgesetzt. Aber den Aufwand ist es nie wert.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
BlackJack

@trundle: Vorsicht, Du kennst den Wetteinsatz nicht. ;-)
someone
User
Beiträge: 6
Registriert: Mittwoch 7. Januar 2009, 00:00

find ich echt cool, leute, dass ihr mir helft! wie gesagt, es geht um einen wettstreit (deshalb ist es rechtlich kein problem)--das programm ist von meinem kollegen in python geschrieben und mit py2exe compiliert...heißt für mich also, wenn ich euch richtig verstandenn habe, dass ich es erstmal mit diesem programm decompiliere und dann diese zip-files entpacke--die öffne ich dann mit python2.5 und kucke....soweit richtig?
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Du musst dir anschauen, wie py2exe funktioniert, dann ist es relativ leicht an die Module bzw. das ge`[mod]marshal[/mod]`te Hauptskript zu kommen. Aber das setzt sowohl ein wenig Wissen über das PE-Format als auch natürlich Wissen über Python voraus und es schadet sicher auch nicht, wenn man C (zumindest lesen) kann. Und an etwas anderes als das, was [mod]dis[/mod] dir ausspuckt, wirst du auch nicht kommen, auch wenn man damit durchaus etwas anfangen kann.

Aber einfach mal eben so funktioniert das bestimmt nicht. Und der Sinn eines Wettstreits ist es ja auch nicht, dir sagen zu lassen, wie es geht.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wobei man mal wissen sollte, wie genau der Wettstreit formuliert ist! Evtl. kann man sich drum herum "mogeln" und die Ausgabe per eigenem Script verbiegen ;-)

Stichwort Ei des Kolumbus :-)
Antworten