Seite 1 von 1

programm verändern

Verfasst: Mittwoch 7. Januar 2009, 00:04
von someone
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

Verfasst: Mittwoch 7. Januar 2009, 00:13
von Leonidas
Hallo someone, willkommen im Forum,

ja, ist ganz einfach. Du öffnest das Programm in einem Editor und änderst es nach Belieben.

editor sagt mir jetzt nix...

Verfasst: Mittwoch 7. Januar 2009, 19:58
von someone
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!

Verfasst: Mittwoch 7. Januar 2009, 20:02
von Leonidas
Was ist es denn für ein Programm und wozu willst du es denn editieren?

geht um ne wette

Verfasst: Mittwoch 7. Januar 2009, 20:54
von someone
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" !

Verfasst: Mittwoch 7. Januar 2009, 21:04
von cofi
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.

Verfasst: Mittwoch 7. Januar 2009, 21:06
von Leonidas
Der Quellcode wäre aber eher eine Assembler-Datei und eine Zip-Datei in der Python-Bytecode (vermutlich als pyo-Dateien) drin ist.

Verfasst: Mittwoch 7. Januar 2009, 21:18
von Trundle
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.

Verfasst: Mittwoch 7. Januar 2009, 23:08
von BlackJack
@trundle: Vorsicht, Du kennst den Wetteinsatz nicht. ;-)

Verfasst: Donnerstag 8. Januar 2009, 11:11
von someone
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?

Verfasst: Donnerstag 8. Januar 2009, 13:31
von Trundle
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.

Verfasst: Donnerstag 8. Januar 2009, 13:35
von Hyperion
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 :-)