Autor Beitrag
wolke
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 240



BeitragVerfasst: Mo 02.05.05 18:54 
hallo!

ich suche einen obfuscator (ähnlich der java-obfuscator) für delphi, der vor allem variablennamen und prozedurnamen ersetzt. hintergrund: mit programmen wie beispielsweise dem delphi-decompiler DeDe lassen sich diese rekonstruieren und dann ist es natürlich ungünstig, wenn meine funktion CheckRegistration o.ä. heißt.

ich bin mir sehr wohl bewußt daß es auch nachträgliche exe-packer/crypter/protector gibt, diese werde ich sowieso noch drüberlaufen lassen, aber für die ist es meist einfach passende unpack-routinen zu finden und dann liegt wieder alles brach.

ich kenne obfuscator aus der java-welt und habe mich gestern länger totgesucht, aber nichts brauchbares für delphi gefunden. die "obfuscate" funktion von sourceformatX beispielsweise entfernt ja nur die lesbarkeit, ändert aber keine namen. andersrum möchte ich natürlich schon mit sinnvollen variablenbezeichnern und prozedurnamen arbeiten, diese sollen aber halt vor dem endgültigen compilieren "obfuscated" werden.

kennt ihr da irgendein produkt?
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Di 03.05.05 06:53 
Hallo wolke!

Natürlich kenne ich da ein passendes Produkt!

Es wird von Borland hergestellt und heißt Delphi!

Wenn in Deinem fertigen Compilat die ganzen Klassennamen etc. auftauchen, hast Du falsch compiliert!

Schau mal unter "Projekt" - "Optionen" nach.
Im Reiter "Linker" werden wohl die "externen Debug-Symbole" eingeschaltet sein. Das Ganze (und die TD32-Debug-Infos) benötigt man normalerweise nicht. Die sind nur nötig, wenn ein externer Debugger (wie MemProof zur Prüfung auf Speicherlecks) verwendet wird. Für die "Produktionsfassung" sollte man das ausschalten.

Wie das mit DeDe ist, weiß ich nicht. Aber bei meinen Programmen, die während der Entwicklung mit den beiden Optionen compiliert werden, sind alle Bezeichner im Klartext in der Exe - kann man mit NotePad finden. Wenn ich die beiden Optionen deaktiviere, findet sich nichts mehr. Außerdem wird die EXE dann "etwas" kleiner. :mrgreen:

Gruß

Dietmar Brüggendiek
wolke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 240



BeitragVerfasst: Di 03.05.05 19:06 
ich muss irgendwas übersehen, denn bei mir sind die funktionsnamen sowohl im hexdump als auch mit DeDe ermittelbar.

unter linker:

Map file: off
EXE and DLL options: alles 'unchecked'
Linker output: generate DCUs
Memory sizes: (default)

unter compiler:

Debugging: alle haken entfernt (testweise, ändert aber nichts)