Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

1

24.05.2003, 13:11

Decompiler

Hi!
Ich hab da im Internet was von gewissen decompilern gehört. Bisher hab ich aber nur sowas für Java oder Shockwave gefunden. Gibt es auch decompiler für C/C++??? ;D

2

24.05.2003, 13:19

nein!

gründe:
1. alle variablennamen, funktionsnamen etc nich mehr vorhanden
2. klassen können nicht oder nur kaum rekonstruiert werden

bei java is es ja ein anderes prinzip, weswegen noch alle infos enthalten sind
stay tight, project universe comes back!
### project earth <> 2004 ###

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

24.05.2003, 13:29

Es gibt schon solche Decompiler, aber wie schon gesagt, geht da sehr, sehr viel verloren.

4

24.05.2003, 13:30

gibt es?

hat wer nen link :)
stay tight, project universe comes back!
### project earth <> 2004 ###

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

5

24.05.2003, 14:32

Aha! UNd wenn da viel verloren geht, das, was dann rauskommt, wenn mans kompiliert, ist es dann identisch mit dem original??
So ein Programm brauch ich..! Aber logisch ist es ja: Woher soll der dann die ganzen Namen usw wissen... :(

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

24.05.2003, 14:56

Also ich wüsste da einen recht einfachen Decompiler... einfach die EXE-Datei einlesen, disassemblieren und in einem großen __asm-Block ins C(++)-Programm kopieren ;) Obwohl es da wohl auch noch Probleme gäbe, mit dem Datensegment usw..
Eine dekompilierte Datei müsste kompiliert wieder identisch mit dem Original sein. Naja, vielleicht nicht ganz identisch (je nach Compiler-Optimierungen etc.), aber die Ausgaben müssten die gleichen sein.

7

24.05.2003, 15:29

Hi!

Wenn Du vorhast damit rauszufinden wie der Sourcecode von kommerziellen Produkten ausschaut, muss ich Dich enttäuschen. Wie gesagt geht das meiste verloren. Du wirst (wenn überhaupt) nen Quellcode haben, welcher von Sprungmarken und Numerischen Variablen oder direkten Speicherbefehlen nur so wimmelt. Selbst so kleine Dinge wie Inline-Funktionen werden das decompilierte Ergebnis ausschauen lassen wie die Schriften in den Pyramiden.

Hinterher lässt sich nun mal nicht mehr feststellen wie man auf 36 kommt =)....entweder wars 6x6, oder 72/2, oder 6+6+6+6+6+6.....wenn Du verstehst was ich meine.

Glaub mir: vergiss es lieber.

cya...TheWanderer
visit: www.poke53280.de

8

24.05.2003, 17:11

Hi,

ich code sehr viel in ASM. Selbst ein Disassembling meines eigenen Source kann ich nicht mehr nachvollziehen, da Funktionen genauso angesprungen werden, wie jeder andere x-beliebige Label. Ausserdem stehen dann lauter Speicheradressen drin, und keine Funktionsnamen.

Bei einem Decompiler ist das Ganze noch weit komplizierter. Wie soll denn der Decompiler wissen, welche Art von Schleife, falls er diese überhaupt als solche erkennt, irgendein Rücksprungbefehl ist ?
Und wie sieht das Ganze bei einem z.B. Aufruf einer DX-Funktion aus.
Das der ganze Klassenkäse den Bach runter geht ist sowieso klar.

Also, wie TheWanderer schon sagte: Vergiss es !

ciao,
TomCat :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

24.05.2003, 18:16

Wer den Quellcode von kommerziellen Spielen haben will, der soll sich z.B. den von der Quake-Reihe oder Return to Castle Wolfenstein herunterladen, die gibt's kostenlos auf www.id-software.com.

10

24.05.2003, 18:24

och, ich denke, wenn man zB funktionen aus ner dll aufruft, müsste man ja die funktionsnamen rekonstruieren können

kennt denn jemand nen decompiler, meinetwegen auch einen noch so schlechten?
stay tight, project universe comes back!
### project earth <> 2004 ###

Werbeanzeige