Wie den Code einer Pascal EXE auslesen?

Ich habe fertige Pascal EXE Dateien auf meinem Rechner und würde mir gerne den Code dazu ansehen. Wie kann ich das hinbekommen?

Ich habe fertige Pascal EXE Dateien auf meinem Rechner und
würde mir gerne den Code dazu ansehen. Wie kann ich das
hinbekommen?

Garnicht.

Der Code (die .PAS-Datei) enthält viel mehr Informationen als das Compilat (die .EXE-Datei). Beim Compilieren geht also Information verloren - das läßt sich prinzipiell nicht wieder Rückgängig machen. Dennoch gibt es einen Weg zurück - das nennt man decompilieren. Dabei bekommst du aber nur den Maschinencode (Assembler) und nicht den gut les- und verstehbaren Code.

Möglicherweise gibt es für Pascal irgendwelche Rück-Übersetzungstools, die dir aus Assemblerdateien oder den Compilaten Quelltextdateien (=Code) generieren. Dieser Code ist aber zwangsläufig nicht sonderlich gut lesbar bzw. Strukturiert, weil ja gerade die „Struktur-Informationen“ beim Compilieren verschwinden.

Also frag besser den Programmierer, ob er die den zugehörigen Code gibt.

Gruß
Jochen

Schlechte Karten
Angeblich soll es ja ReCompiler geben, die das können sollen. Ich habe aber noch keinen gesehen, denn das ist nicht so einfach zu realisieren. Wahrscheinlich eine Legende…
Ansonsten kann kan mann sich nur den Hexcode ansehen. Das ist aber nicht lustig und nur was für Extremisten.

Hi.

Mit ein bisschen Googlen habe ich diese URL gefunden: http://www.chaho.de/templates/show_tools.php?GetID=2
Dort gibt es ein Programm namens DeDe. Laut Beschreibung „erstellt [es9 den kompletten Source eines Delphi Executables (inkl. DSF und DOI-Erweiterung)“. Ausprobiert habe ich es allerdings nicht.

Sebastian.

Hallo Sebastion,

ich hab’s mal ausprobiert. Die Links führen entweder zu nichtexistenten Sites oder die Sites sind „forbidden“. Ein Link ging:

Revendepro (version 0.0.2.17)

Und da schreibt’s schon:

Introduction
Revendepro is a program to reverse engineer Delphi program, I have stoped working on the program. Unfortunately it does NOT work on most programs, so please DO NOT contact me that the program doesn’t work…

What it does
Summary: Revendepro finds almost all structures (classes, types, procedures, etc) in the program, and generates the pascal representation, procedures will be written in assembler. Due to some limitation in assembler the generated output can not be recompiled.

Tja, sag ich doch.

Gruß
Jochen