Hallo und herzlich wilkommen zu meinem Tutorial bezüglich des deobfuscaten von AutoIt Scripts.
Viele Obfuscatoren die versuchen den Code möglichst unleserlich zu machen halten nicht wirklich was sie versprechen. Damit ihr mir dies auch glauben tut werde ich in meinem Tutorial mal auf einen der auf Elitepvp bekanntesten Obfuscatoren eingehen.
[Only registered and activated users can see links. Click Here To Register...]
Dieser Obfuscator ist sehr interessant doch lässt sich relativ simpel entschlüsseln. Angenommen unser Script sieht so aus:
würde es nach einer Obfuscation so aussehen:
Viele würden jetzt hier verzweifeln da es einfach zu kompliziert aussieht. Doch eigentlich ist das ganz einfach. Jeder Befehl fängt mit einem Execute an, dahinter ist ein BinaryToString mit variierenden Sachen. Wie könnten wir das ganz einfach nun deobfuscaten? Nunja, was obfuscatet ist muss auch deobfuscatet werden damit es der Compiler versteht. Der eigentlich Code befindet sich hinter dem Execute, der Execute Befehl ist nur dazu da um den Code, der in dieser Zeile entschlüsselt wird auszuführen. Also brauchen wir nur das Execute weglassen und danach und ausgeben lassen was encryptet werden würde. Das lässt sich ganz einfach so ausgeben:
In die Variable setzt ihr dann einfach den BinaryToString rein. So packt ihr es dann Zeile für rein, ihr seht es sind auch noch Funktionen da, deobfuscatet sie auch. Wenn alles fertig ist sollte es so aussehen:
Das war es nun auch schon zu meinem kleinen Tutorial. Dieses Prinzip lässt sich nebenbei bei allen Obfuscatoren anwenden in jeder Sprache, nur die Befehle untereinander variieren.
Hier ist auch noch ein besseres prinzip was euch die Arbeit erleichtern könnte:
Natürlich gibt es noch viele andere möglichkeiten doch diese ist die wesentlichste. Ihr könnt das ganze ja auch in einem Programm automatisieren wenn ihr wollt.
Ich wünsche euch noch einen schönen Tag!
Viele Obfuscatoren die versuchen den Code möglichst unleserlich zu machen halten nicht wirklich was sie versprechen. Damit ihr mir dies auch glauben tut werde ich in meinem Tutorial mal auf einen der auf Elitepvp bekanntesten Obfuscatoren eingehen.
[Only registered and activated users can see links. Click Here To Register...]
Dieser Obfuscator ist sehr interessant doch lässt sich relativ simpel entschlüsseln. Angenommen unser Script sieht so aus:
Code:
MsgBox(0, "Test", "Ein einfacher Test")
Viele würden jetzt hier verzweifeln da es einfach zu kompliziert aussieht. Doch eigentlich ist das ganz einfach. Jeder Befehl fängt mit einem Execute an, dahinter ist ein BinaryToString mit variierenden Sachen. Wie könnten wir das ganz einfach nun deobfuscaten? Nunja, was obfuscatet ist muss auch deobfuscatet werden damit es der Compiler versteht. Der eigentlich Code befindet sich hinter dem Execute, der Execute Befehl ist nur dazu da um den Code, der in dieser Zeile entschlüsselt wird auszuführen. Also brauchen wir nur das Execute weglassen und danach und ausgeben lassen was encryptet werden würde. Das lässt sich ganz einfach so ausgeben:
Code:
$Command = MsgBox(0, "Ausgabe", $Command)
In die Variable setzt ihr dann einfach den BinaryToString rein. So packt ihr es dann Zeile für rein, ihr seht es sind auch noch Funktionen da, deobfuscatet sie auch. Wenn alles fertig ist sollte es so aussehen:
Das war es nun auch schon zu meinem kleinen Tutorial. Dieses Prinzip lässt sich nebenbei bei allen Obfuscatoren anwenden in jeder Sprache, nur die Befehle untereinander variieren.
Hier ist auch noch ein besseres prinzip was euch die Arbeit erleichtern könnte:
Code:
$Command = ConsoleWrite($Command & @CRLF) ClipPut($Command)
Ich wünsche euch noch einen schönen Tag!