Der Martin: Dekompilieren erschwert durch Obfuscator.. wie eigentlich?

Beitrag lesen

Hi,

Der Obfuscator benennt einfach alle Funktionen, Variablen, Klassen etc. um

... und damit sind alle vom Programmierer sorgsam gewählten "sprechenden" Bezeichner erstmal futsch. Dazu kommt dann, dass jegliche Formatierung des Quellcodes durch Einrückungen soweit wie möglich "komprimiert" wird, dass Kommentare gelöscht werden usw.

Und wenn ein Compiler erstmal einen Code optimiert hat und man ihn dann dissassembliert, hat das ganze oft nicht mehr viel mit dem Ursprungs-Code zu tun, da muss man schon recht gut sein, um den Sinn einer einzigen Funktion rauszufinden.

Wenn ich mir den vom Compiler "optimierten" Code ansehe, stelle ich manchmal fest: "Stimmt, warum habe ich das nicht gleich so geschrieben?" Viel häufiger kann ich aber an den Assembler-Anweisungen ziemlich genau Schritt für Schritt meinen Algorithmus wiedererkennen.

Ciao,
 Martin

--
Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
  (Benjamin Franklin, amerikanischer Tüftler und Politiker)