![]() |
Re: Quelltext aus compillierter exe wiederherstellen?
Zitat:
![]() Bug oder Feature? Es ist ein Feature (ähnlich dem Bytecode von Java). Du kannst aber etwas mit sogenannten Obfuscator-Tools dagegen unternehmen, welcher eine möglichst hohe Verschleierung des Codes durchführt (Variablennamen werden zu aaaaaaaab oder ähnlichen. |
Re: Quelltext aus compillierter exe wiederherstellen?
Hallo!
Zitat:
Die klassischen Windows-Programme (.EXE) werden jedoch in Maschinensprache umgesetzt. Die kann nur GOTO und CALL - dadurch wird die Struktur des Originals verworfen. Luckies Hackfleich-Vergleich ist da sehr passend. An der Umkehrcompilierung haben sich schon etliche Universitäts-Projektgruppen (Ruck Zuck PUC - Projektgruppe Umkehr-Compilierung) die Zähne ausgebissen - man muß ja versuchen, aus den Maschinenbefehlen (bzw. ihren Assembler-Entsprechungen) die Original-Struktur zurückgewinnen. Im Prinzip kann man das Ganze rekonstruieren. Der Umkehrcompiler muß "nur" in der Lage sein, die Instruktionen zur Bereitstellung von Parametern bei Prozedur/Funktionsaufrufen zu erkennen und dann den Aufruf mit Parametern daraus zu erstellen. Man muß dann nur damit leben, daß man Variablennamen der Bauart I1, I2 etc. bei Integern hat und daß alles mit GOTO abläuft. Aus
Delphi-Quellcode:
oder
for lauf:=1 to 10 do
unterprogramm(lauf);
Delphi-Quellcode:
oder
lauf:=1;
while lauf <= 10 do begin unterprogramm(lauf); inc(lauf); end
Delphi-Quellcode:
würde dann ein Spitzen-Umkehrcompiler erzeugen:
lauf:=1;
repeat unterprogramm(lauf); inc(lauf); until lauf>10;
Delphi-Quellcode:
Der Rest ist dann Handarbeit.
i1:=1;
l1: p1(i1); inc(i1) if i1<=10 then goto l1; Normalerweise erhält man allerdings Assembler - im absoluten Notfall kann ein Super-Programmierer (das wird TEUER!) vielleicht einen Fehler beheben. Fazit: Ein Backup des Sources ist durch nichts zu ersetzen - außer durch mehrere Backups! Gruß Dietmar Brüggendiek |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz