Seite 1 von 2

UserLib decompilen/disassemblen möglich?

Verfasst: 30.05.2006 23:18
von Delle
Hallo,

ist es irgendwie möglich, fertige PB-Userlibs irgendwie zu decompilen/disassemblen?

Re: UserLib decompilen/disassemblen möglich?

Verfasst: 30.05.2006 23:22
von Kiffi
Delle hat geschrieben:ist es irgendwie möglich, fertige PB-Userlibs irgendwie zu decompilen/disassemblen?
ja, das ist möglich. Wobei sich allerdings die Frage stellt, ob Du dann auch
noch was mit dem disassemblierten Code anfangen kannst. ;-)

Grüße ... Kiffi

Verfasst: 31.05.2006 00:02
von Delle
Und wie? Einfach .exe als Suffix anhängen und normal in z.B. IDA einladen?

PS: Ja ich will nur eine Kleinigkeit ändern, nicht großartig drin rumcoden ;)

Verfasst: 31.05.2006 00:35
von edel
Du musst aus der Userlib die Lib extrahieren.
Wenn du dein Programm kompilierst macht das der "PBCompiler".
Musst nur schnell genug sein und sie dir sichern bevor der
Kompiler sie wieder loescht.

Verfasst: 31.05.2006 00:55
von Zaphod
disassemblieren -> ja

dafür brauchst du einen disassembler. lohnt sich aber nicht, denn das disassemblat ist zur weiteren verwendung durch einen menschen nicht sehr geeignet.

dekompilieren -> nein

dekompilieren (in dem sinne, dass das dekompilat danach die ursprüngliche struktur des quelltextes wiederspiegelt) ist nicht möglich, da die abbildung von quelltext auf maschinencode nur in eine richtung eindeutig ist. dein prozessor kennt keine schleifen, prozeduren, case-konstrukte, für den wird das ganze in simplere befehle übersetzt. bei der dekompilation ist dabei nicht zu sagen, aus welchem komplizierteren konstrukt die einfacheren befehle abgeleitet sind. daher wäre nur ein dekompiler möglich, der sehr unsinnige, passende quelltexte generiert, weswegen es auch kaum dekompiler gibt. für pb gibt es meines wissens jedenfalls garkeinen.

Verfasst: 31.05.2006 01:48
von Delle
Naja wiegesagt ich will lediglich an einer UserLib in ASM dann etwas abändern und diese wieder zu einer UserLib generieren...

Verfasst: 31.05.2006 08:33
von Kaeru Gaman
um welche und um was geht es denn?

Verfasst: 31.05.2006 13:18
von Delle
Das ist doch unwichtig oder nicht?! ;)

Jedenfalls wird die UserLib nicht mehr geupdated und der Autor ist nicht mehr erreichbar.

Deswegen würde ich einfach selbst den "Bug" ändern und gut...

Verfasst: 31.05.2006 13:50
von Kaeru Gaman
> Das ist doch unwichtig oder nicht?!

kommt drauf an...

selber schreiben macht schlau, also, ich verwende userlibs ungern bis garnicht, und wenn das ding nicht open-source ist, dass ich mir das an tricks rausholen kann, was ich brauche, ist es eigentlich für mich unnütz.

> Deswegen würde ich einfach selbst den "Bug" ändern und gut...

wenns so einfach ist, ok, aber das möchte ich halt bezweifeln...

fremden code verbessern ist knackig genug, fremde lib disassemblieren und korrigieren isn horror, da biste mit selber schreiben schneller dabei und hast positiveren lerneffekt...

wenn du jetzt sagen würdest, worum es geht, kann dir vielleicht jemand tipps geben, wie du das ohne diese spezielle lib lösen kannst... wenn dus unbedingt für dich behalten willst, is auch dein bier, dann viel spass beim hacken... ist imho unnötiger aufwand...

Verfasst: 31.05.2006 13:52
von Rockmaster
Mit nem Disassembler kannst du wirklich so gut wie nichts anfangen!
Ich hab es mal versucht da und da kommen alle möglichen HEX-werte und sonstiges unverständliches zeug raus