Hallo autoit comunity !
----> Download im anhang
Heute möchte ich euch eine einfache möglichkeit zeigen euren code etwas unlesbarer zu machen .
Als erstes möchte ich dazu sagen das diese methode nur funktioniert solange das script nicht gut genug decompiled wird damit code zeilen und variablen kaputt gehen !
Dadurch kann man die strings auch nicht wieder zurückverwandeln .
Ich benutze diese methode meist dazu um code zeilen einzeln auszuführen bzw einzulesen und dann erst auszuführen .
Wir fangen erstmal mit einem ganz einfachem beispiel an :
PHP Code:
MsgBox(0,"Hi","Lol")
Das ist die einfachst mögliche code zeile die normalerweise jeder auswendig können müsste und sofort weis wie diese aufgebaut ist und wenn diese MessageBox jetzt so aus sieht :
PHP Code:
MsgBox(0,"Error","Falsches Passwort")
Weis derjenige der den code bekommt das ein paar zeilen drüber die passwort abfrage stattfindet und dadurch kann er euer script schnell analysieren .
Dann kommen wir zur anleitung bitte befolgt alle schritte in der richtigen reihenfolge :
1.) Ladet euch meinen kleinen string obfuscator / code block obfuscator runter
2.) Doppelklick auf die .exe und warten biss alles geladen hat
3.) wir tragen ins obere edit feld die code zeile ein , wichtig es darf nur eine zeile sein
4.) bei crypting key schreiben wir nun eine random zahlen und buchstaben folge rein
5.) drückt auf den button : Crypt input now !
6.) Danach gehen wir weiter zu fake file
7.) Wir geben einen unauffälligen dateinamen ein und wählen eine sinnvolle endung (.dll)
8.) klickt nun auf den button : Fake File to safe .exe
9.) nun erscheint autoit code den ihr in eine .au3 packen könnt und ausführen könnt
Wichtig : die erstellte datei muss im script dir sein und wird auch dort ausgegeben
So nun weiter ...
Mein code für :
PHP Code:
MsgBox(0,"Error","Falsches Passwort")
sieht nun so aus :
PHP Code:
#Include <File.au3>
#Include <String.au3>
$zeile = _FileCountLines('plugin.dll')
$cLine = FileReadLine('plugin.dll',$zeile)
Execute(_DecryptString($cLine))
Func _DecryptString($cString)
$pass = '65464web5gw63g356343g4'
$cNew = _StringEncrypt(0, $cString, $pass)
Return $cNew
EndFunc
wenn wir die datei jetzt compilen würden bekähmen wir immer noch den klarcode .
Als nächstes müssen wir das script obfuscaten ! Dazu nehmen wir den Obfuscator der offiziellen autoit seite
nach dem obfuscaten compilen wir die .au3 .
Wenn wir nun die .exe wieder decompilen bekommen wir in etwa das hier :
PHP Code:
$a54e2303945 = Fn0001("plugin.dll")
$a3be2505e42 = FileReadLine("plugin.dll", $a54e2303945)
Execute(Fn0024($a3be2505e42))
Func Fn0024($__01)
$a4ae2802c2e = "65464web5gw63g356343g4"
$a42e2a04a4e = Fn0017(0, $__01, $a4ae2802c2e)
Return $a42e2a04a4e
EndFunc
dieser code ist nun nicht mehr ausführbar allerdings kann man die funcs trotzdem sich rausschreiben und dann einzelnt decryptet , aufwand von 5 – 10 min allerdings ist das viel besser als einen klaren code block nach dem decompilen zu haben .
Ein noob-Tutorial fürs decompilen und deobfuscaten meines obfuscators werd ich nicht machen !
Eine wichtige anmerkung ist auch noch das dass script viel langsamer wird .
Ich muss auch noch sagen das diese methode garnichts bringt wenn dein script von jemandem mit etwas erfahrung decompiled wird , ich würde diese methode in 1 minute komplett deobfuscaten können.
Jeder irgendwie dumme post hier wird sofort reportet das ist nur ein kleines tut für die die sich nicht besser schützen können als fremde tools zu benutzen . Wer rechtschreibfehler findet darf sie behalten und sich freuen .
VirusTotal :
8 stück durch packing mit einem packer ^^
Die anderen daten in der .rar sind eine .dll mit diesem inhalt :
PHP Code:
30FB056CEDF244D418E781B2C5BF1B7980CCF2A770451D67FB216C1B720BF096EE2E80E71F486490D1597F1ADC901710E359CCFBA0AB7556D38CFBAF24EDD416F78B2587D81AB00D090D
und ein autoit script