Autor |
Beitrag |
fusco123
      
Beiträge: 40
|
Verfasst: Sa 01.12.07 17:53
Hi,
kennst jemand nen vernünfitgen Decompiler für Delphi ???
fusco
|
|
.#R4id
      
Beiträge: 90
Windows XP Prof.
CodeGear Delphi 2007
|
Verfasst: Sa 01.12.07 18:01
Es gibt nur Decompiler die die .DFM Datei(en) Decompilieren können. Dennoch sind die meisten Decompiler Shareware!
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 01.12.07 18:04
Für DCUs gibt's DeDe und noch einige weitere. Ich hab aber bisher keinen gesehen, der besser als ASM-Level decompiliert.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Sa 01.12.07 18:04
Ein kompletter Decompiler ist auf Grund der Komplexität kaum möglich. So was gibt es für C, aber das Ergebnis ist kaum lesbar. Disassembler jedoch sind weit verbreitet.
Was es jedoch auch gibt, wie .#R4id schon gesagt hat, sind Programme, die aus den EXE-Dateien die DFMs generieren.
Und DeDe, aber ich sehe, das erläutert BenBE gerade. (Diese orangene Warnung ist echt praktisch...)
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
.#R4id
      
Beiträge: 90
Windows XP Prof.
CodeGear Delphi 2007
|
Verfasst: Sa 01.12.07 18:15
Eine DCU-Datei kann man Decompilieren, die Software dafür gibt es glaub ich auf [url= www.torry.net]Torry.net[/url].
|
|
fusco123 
      
Beiträge: 40
|
Verfasst: Sa 01.12.07 18:54
danke schon mal für die Antworten
Kann man die dfm datei nur von delphiprogrammen sichtbar machen?
also kann man mit dede nur delphi programme decompilieren, bzw mit einem c decompiler nur c programme?
oder zeigt der decompiler wie es in der jeweiligen Sprache geschrieben wäre?
fusco
|
|
.#R4id
      
Beiträge: 90
Windows XP Prof.
CodeGear Delphi 2007
|
Verfasst: Sa 01.12.07 19:25
Es gibt Decompiler die können:
- Delphi Programme als Delphi Code darstellen
- Delphi Programme als C++ Code darstellen
- Delphi Programme als C++ oder als Delphi Code darstellen
- C++ Programme als C++ Code darstellen
- C++ Programme als Delphi Code darstellen
- C++ Programme als Delphi oder als C++ Code darstellen
Und es gibt welche, die können vieles mehr 
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Sa 01.12.07 19:40
.#R4id hat folgendes geschrieben: | Es gibt Decompiler die können:
- Delphi Programme als Delphi Code darstellen
- Delphi Programme als C++ Code darstellen
- Delphi Programme als C++ oder als Delphi Code darstellen
- C++ Programme als C++ Code darstellen
- C++ Programme als Delphi Code darstellen
- C++ Programme als Delphi oder als C++ Code darstellen
Und es gibt welche, die können vieles mehr  |
Kannst du mir einen Decompiler für Delphi zeigen, der wirklich den Sourcecode (nicht nur asm) wiederherstellt? Die meisten, die sich Decompiler nennen, arbeiten nur recht eingeschränkt, den Sourcecode kriegt man nicht zurück (weswegen man IMHO nicht von einem Decompiler sprechen kann), nur die Struktur (Procedures etc.), aber Inhalte nur in ASM.
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Sa 01.12.07 21:01
Zitat: | Kannst du mir einen Decompiler für Delphi zeigen, der wirklich den Sourcecode (nicht nur asm) wiederherstellt? Die meisten, die sich Decompiler nennen, arbeiten nur recht eingeschränkt, den Sourcecode kriegt man nicht zurück (weswegen man IMHO nicht von einem Decompiler sprechen kann), nur die Struktur (Procedures etc.), aber Inhalte nur in ASM. |
Das wird auch nicht funktionieren.
_________________ Markus Kinzler.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 01.12.07 21:47
Man kann aus einer compilierten Exe-Datei nicht wieder den ursprünglichen Code herstellen. Variablen-, Funktions- und Methodennamen werden nur zu Sprungadressen im Speicher. Alle Bezeichner sind also nur Schall und Rauch im Compilat. Hinzukommt dass heutige Compiler den Quelltext hochgradig optimieren. Das höchste aller Gefühle sind die Ressourcen und die DFM-Dateien sind nichst anderes und ASM-Code. Um aber aus dem ASM-Code wieder den Quelltext generieren zu können, wirst du exzelente ASM-Kenntnisse benötigen und viel Zeit.
Es ist ungefähr so als wolle man aus 200 kg Gehacktes halb und halb wieder das Rind und das Schwein machen.
Ausserdem stellt sich mir die Frage, wozu du das brauchst.
|
|
fusco123 
      
Beiträge: 40
|
Verfasst: Sa 01.12.07 22:20
Vielen Dank erstmal für eure Beiträge, für mich hätten sich damit alle Fragen geklärt.
also gibt es de facto keinen "richtigen funktionierenden" Decompiler um wieder an den Code zu kommen.
@mkinzler ich beginne grad Delphi zu lernen und hätte es gebraucht um mir mal den Code von dem einen oder anderen Programm lesen zu können.
fusco
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Sa 01.12.07 22:23
War zwar Michael der dich nach dem Grund gefragt hat, aber wenn du Delphi lerne willst, ese besser Tutorials.
www.delphi-forum.de/...rce+Projekte_28.html
_________________ Markus Kinzler.
|
|
.#R4id
      
Beiträge: 90
Windows XP Prof.
CodeGear Delphi 2007
|
Verfasst: Sa 01.12.07 22:32
Timosch hat folgendes geschrieben: |
Kannst du mir einen Decompiler für Delphi zeigen, der wirklich den Sourcecode (nicht nur asm) wiederherstellt? Die meisten, die sich Decompiler nennen, arbeiten nur recht eingeschränkt, den Sourcecode kriegt man nicht zurück (weswegen man IMHO nicht von einem Decompiler sprechen kann), nur die Struktur (Procedures etc.), aber Inhalte nur in ASM. |
Die Procedure Inhalte, Variablen, Constanten, etc... werden nicht dargestellt!
z.B.
Delphi-Quelltext 1: 2: 3: 4:
| procedure SchlagMichTot(Wenn?: TNoob); begin end; | wird dargestellt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 01.12.07 23:58
Aber nur, wenn die exe mit Debuginformationen compiliert wurde.
Und zum lernen gibt es genug OpenSource, wenn man sich Quellcode angucken will.
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: So 02.12.07 15:15
.#R4id hat folgendes geschrieben: | Timosch hat folgendes geschrieben: |
Kannst du mir einen Decompiler für Delphi zeigen, der wirklich den Sourcecode (nicht nur asm) wiederherstellt? Die meisten, die sich Decompiler nennen, arbeiten nur recht eingeschränkt, den Sourcecode kriegt man nicht zurück (weswegen man IMHO nicht von einem Decompiler sprechen kann), nur die Struktur (Procedures etc.), aber Inhalte nur in ASM. |
Die Procedure Inhalte, Variablen, Constanten, etc... werden nicht dargestellt!
z.B.
Delphi-Quelltext 1: 2: 3: 4:
| procedure SchlagMichTot(Wenn?: TNoob); begin end; | wird dargestellt. |
Wie ich schon sagte, das ist für mich kein Decompiler.
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|