UserLib decompilen/disassemblen möglich?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

UserLib decompilen/disassemblen möglich?

Beitrag von Delle »

Hallo,

ist es irgendwie möglich, fertige PB-Userlibs irgendwie zu decompilen/disassemblen?
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: UserLib decompilen/disassemblen möglich?

Beitrag 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
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag 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 ;)
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Naja wiegesagt ich will lediglich an einer UserLib in ASM dann etwas abändern und diese wieder zu einer UserLib generieren...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

um welche und um was geht es denn?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag 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...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Beitrag 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
Antworten