Entwickler-Ecke
Sonstiges (Delphi) - Exe-Dateien wieder in Delphi umwandeln
Mäthew Glide - Fr 11.12.09 23:01
Titel: Exe-Dateien wieder in Delphi umwandeln
Hallo!
Ich hab mal eine Frage: Ich habe eine .exe DAtei bekommen die mit Delphi geschrieben wurde, allerdings fehlen mri die andere Dateien um es zu öffnen und zu bearbeiten. Gibts es irgendeine Möglichkeit diese exe DAtei wieder umzuwandeln?
Gausi - Fr 11.12.09 23:10
Den Delphi-Quellcode (*.pas) kann man nicht wieder herstellen. Die DFM-Dateien geht wohl, aber das ist dann schon alles (hab ich gehört, aber das bringt einem ja nun auch nicht viel).
Ich zitiere (mal wieder)
Luckie: Kann man aus einem Kilo Halb-und-Halb wieder die Kuh und das Schwein bauen?
Mäthew Glide - Fr 11.12.09 23:20
okay danke und sau gutes Zitat gefällt mir echt
turboPASCAL - Sa 12.12.09 00:15
Theoretisch ja. ;)
Da Exectutable Dateien aus Assemblerbefehlen usw. bestehen kann man diese
mit diversen Disasseblern in die Assembler-Programiersprache "wandeln".
Jetzt müsste man diesen wieder in eine Delphisprache umsetzen.
Da aber alle Variablen, Funktionen und Prozedurennamen nicht mehr existent sind
würden diese durch neue, anders benannte ersetzt werden. Das wiederum würde
den Code schwer lesbar machen.
Was die Fenster (Forms) angeht, ist nur dann möglich wenn sie als Resource
mit in die Exectutable übernommen wurde, also bei der VCL-Programmierung.
Bei einigen nonVCL-Programmen werden diese direkt im Programmcode erzeugt.
alzaimar - Sa 12.12.09 09:15
turboPASCAL hat folgendes geschrieben : |
| Theoretisch ja. ;) |
Definiere: Theoretisch.
turboPASCAL hat folgendes geschrieben : |
Da Exectutable Dateien aus Assemblerbefehlen usw. bestehen kann man diese
mit diversen Disasseblern in die Assembler-Programiersprache "wandeln".
Jetzt müsste man diesen wieder in eine Delphisprache umsetzen. |
"Man müsste einfach nur..." hat man auch über KI gedacht: Und bis heute is nix draus geworden. Es gibt Dinge, die man "einfach nur machen müsste", aber nie hinbekommt. Z.B. müsste man ja eigentlich nur das Licht einholen, das vor 10 Jahren von der Erde abgestrahlt würde, und schon hätte man einen Blick in die Vergangenheit geworfen.
Mich würde der Algorithmus interessieren, der optimierten Code wieder zurückverwandelt. Sowas wie "Neuronales Netz" allein reicht da nicht. "Fuzzy Logic" und "Mustererkennung" wären noch Kandidaten. Aber der wirkliche Algorithmus bleibt mir verborgen. Oder hast Du eine Vorstellung?
Flamefire - Sa 12.12.09 12:33
Ich definiere: Man schaue sich den Code im Disassembler an und rekonstruire daraus Delphi Code.
Mit genügend Zeit, etwas Verständnis für den Code, den man analysiert, und umfangreichem Assembler-Kenntnissen, ist es möglich.
So wie es möglich ist, Primzahlen per Hand zu berechnen ;-)
JoelH - Mo 14.12.09 12:00
Flamefire hat folgendes geschrieben : |
| Ich definiere: Man schaue sich den Code im Disassembler an und rekonstruire daraus Delphi Code. |
Das halte ich bei Optimierung für nahezu unmöglich.
Wenn du nur das Ergebnis einer Rechnung, nehmen wir einfach mal 42, hast, dann kannst du daraus den Rechenweg nicht mehr rekonstruieren. Es kann 36+6 sein, es kann aber auch 7*6 oder 84/2 usw. sein.
Sicherlich könnte man diverse Strukturen rekonstruieren aber das würde recht rudimentäres Stückwerk bleiben und wohl den Aufwand nicht lohnen, denn trotz allem kämst du ohne gehörige Assemblerkentnisse auf keinen grünen Zweig.
jakobwenzel - So 20.12.09 00:18
Da kommt aber auch nur Assembler raus:
| Zitat: |
Note: pas files contains the mentioned above well commented ASM code. They can not be recompiled !
|
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!