Hallo Elitepvpers,
ich release hier mal den Deobfuscator (geschrieben in VB.net) für Shadows Obfuscator ( zu finden; gute Arbeit übrigens ). Mein Deobfuscator sollte beide Versionen seines Obfuscators (AutoIt und C++) wieder deobfuscaten können. Und bevor jetzt hier welche ankommen und meinen sie müssten Sachen loslassen wie "bla, voll scheiße, jetzt ist das voll unsicher, bla" meine ich, dass Leute, die die Source wirklich haben wollen, sie auch manuell deobfuscaten können ( kurz erklärt). Mein Programm automatisiert das lediglich.
Wer das Programm nicht braucht, muss es ja nicht nutzen
So, hier ein Screen von dem Programm:
Dürfte wohl selbsterklärend sein. Gesagt sei noch, dass die Optionalen Einstellungen (die standartmäßig angehakt sind) das Script unbrauchbar machen können, sollten die Variablennamen gar nicht verändert sein. Also diese Optionen bitte mit Vorsicht genießen. In V.0.5 wurden die optimalen Einstellungen zum deobfuscaten von C++-Obfuscator V.1.0.9-Scripts standartmäßig angehakt (Rename Variables funktioniert noch nicht nach Plan, ist daher nur optional).
Der Zip-Datei im Anhang liegt ein obfuscated Beispielscript bei, an dem ich mein Programm auch getestet habe. Des Weiteren liegt dem Zip-Archiv der normale AutoIt-Include Ordner bei. Der Deobfuscator sollte sich im selben Ordner, wie der Include Ordner befinden (von mir aus könnt ihr ihn auch in euren AutoIt-Installationspfad legen), sonst wird die "Remove Compile Errors"-Funktion das Skript zerstören!
V.0.2
- some major bug changes (thanks to Lawliet! for the problem and Dr. Coxxy for the theory of a solution )
V.0.3
- ready to deobfuscate scripts which are obfuscated with Shadows C++-Obfuscator V.1.0.6
V.0.4 (tested only one time)
- should be ready to deobfuscate scripts which are obfuscated with Shadows C++-Obfuscator V.1.0.7 (deobfuscator should be slower than previous versions, sorry)
- added function to remove never called function of the script
V.0.5a
- should be ready to deobfuscate scripts which are obfuscated with Shadows C++-Obfuscator V.1.0.9
- found the bug in "Rename Variables". I'm on it!
V.0.6a
- should be ready to deobfuscate scripts which are obfuscated with Shadows C++-Obfuscator V.1.1.1
- can only deobfuscate V1.1.1. I will add downward-compatibility later
Virustotal (Funde sind garantiert false-positive):
Edit: Mich würde interessieren nach welchem Prinzip der Deobfuscator arbeitet. Führt er den AutoIt-Code aus und lässt das "Execute" vorne weg oder reinterpretiert er den AutoIt-Code?
Edit2:
Ah ok ich sehe die AutoIt-Exe wurde in dasselbe Verzeichnis kopiert also lässt er den Code praktisch ausführen.
Erstmal vielen Dank
Zu deiner Frage:
Erstmal werden per Regex die StringLen, und BinaryToString Befehle entfernt (ist ja nicht allzu schwer). Funktionen wie int(Cos(Sin(irgendeineZahl))) werden ebenfalls geparsed und eben entfernt (hab ich lange für gebraucht, bis ich gemerkt habe, dass der in()-befehl von AutoIt immer abrundet ). Das alles passiert, ohne dass AutoIt-Code tatsächlich ausgeführt wird (wie du schon gesagt hast, könnte man es durchaus als reinterpretation sehen). Nur bei selbstgeschriebenen Funktionen (meist Function(x*y)-z) wird AutoItCode mit den entsprechenden Parametern ausgeführt und das Ergebnis eben eingesetzt.
Bei den Execute()-befehlen war es ganz leicht, da ich einfach nur das execute weggelassen habe.
Sicherlich ist der Deobfuscator nicht perfekt und kann sicher relativ leicht gepatcht werden.
Danke für das Feedback
Mit freundlichen Grüßen
Jeoni
Hab den Fehler gefunden, ich kümmer mich drum und bring dann dementsprechend ein Update raus.
/Edit: Ich könnte behaupten, dass der Fehler im Script liegt (was natürlich dämlich wäre), aber er liegt am Programm und es wird noch etwas dauern, bis das Update rauskommt (ich denke aber noch in dieser Woche). In der Zeit nutzt einfach andere Scripte zum Deobfuscaten
P.S.: Fehler tritt auf, wenn es Befehle gibt (im eigentlichen unobfuscateten Script), die wie folgt aussehen:
Code:
Befehl(42, "\(")
Befehl(")("))
Befehl(")")
(Wer das nicht begriffen hat: Befehle mit Klammern, welche einzeln oder nicht in ihrer natürlichen Reihenfolge auftreten)
Folgende führen demnach nicht zu Problemen:
Code:
Befehl(AndererBefehl(42))
Solange der AndererBefehl keiner des obigen Befehlstyp ist.
This is the AutoIt interpreter to execute some AutoIt-Code, which is necessery during the deobfuscation process. If you have AutoIt installed, it's the same file that you can find in your installation directory.
And for that I don't need to decompile the interpreter
And my programm can't decompile anything. If you already have something decompiled and you can't read it, because it's obfuscated with shadows obfuscator, it will make it more readable again.
Best regards
Jeoni
Ah ich liebe diese kleinen Wettrüstungen.
Dein Deobfuscator hat einige Schwachstellen, die ich in meinem neuem Obfuscator gleich einmal benutzt habe, sollte dadurch also allgemein schwerer werden einen Deobfuscator zu bauen.
Gar nicht mal schlecht, ich habe auch schon eine theoretische Gegenmaßnahme im Visier
Aber ich denke, ich lasse mir mit den Updates immer etwas Zeit. Ich könnte natürlich als Begründung immer auf die Schule verweisen und dass ich dieses Schuljahr mein Abi mache, aber eigentlich habe ich keinen Bock mich damit abzuhetzen. Aber ab und zu können wir das Spiel gerne weitertreiben (vielleicht gebe ich aber auch schon nach 2 Patchs auf oder so)
Mit Freude
Jeoni
Gar nicht mal schlecht, ich habe auch schon eine theoretische Gegenmaßnahme im Visier
Aber ich denke, ich lasse mir mit den Updates immer etwas Zeit. Ich könnte natürlich als Begründung immer auf die Schule verweisen und dass ich dieses Schuljahr mein Abi mache, aber eigentlich habe ich keinen Bock mich damit abzuhetzen. Aber ab und zu können wir das Spiel gerne weitertreiben (vielleicht gebe ich aber auch schon nach 2 Patchs auf oder so)
Mit Freude
Jeoni
Könnte genau dasselbe als Begründung nehmen, aber ehrlich gesagt hab ich (so wie du scheinbar? ) nicht wirklich Lust zu dem ganzen Abi-Zeugs...
Ja immer mal weiterspielen hätte defiinitiv etwas und ich glaube da würden sich auch die Leecher freuen.
Und wer weiß vielleicht wird es irgendwann ein universelle Deobfuscator. :P
Autoit3 -> AHK? 02/06/2010 - Mabinogi - 12 Replies I've noticed more people use Autoit3 for scripting, but I personally prefer AHK. But does Autoit3 scripting work the same way as AHK?
I've seen some useful scripts here, especially for weaving (which is what I need) but I really don't like the fact that I can't pause the script (even if I press the pausing hotkey, it just doesn't stop for some reason).
Let's say I'm using this Autoit3 script to weave my cobwebs:
#include <ImageSearch.au3>
MsgBox(0,"Yeah!","get'em GEWD!",5)
Global...
Autoit3 09/14/2009 - Guild Wars - 4 Replies Hallo,
hab ein paar Fragen zu Autoit.
1. Mit MsbBox öffnet man ja ein Fenster aber wie schreibe ich in das Fester(mit welchem Befehl). z.B. Wie alt bist du? Antwort:
2. Wie speichert man dieses als Variabel.
Gruss artimes:handsdown:
[AutoIt3]If und Then 04/23/2009 - AutoIt - 1 Replies Hey
habe eine frage
ich habe jetzt eine Bot der über ein Internetbrowser läuft
Leider hängen sich mehrere Browser immer auf...
Ich arbeite mit WinActivate("xxx - Mozilla Firefox)
Winactivate("xxx - Internet Explorer")
und da sich ein Browser immer aufhängt würde ich gerne fragen wie das geht mit
wenn unten im Fenstern steht (seitenladefehler - Mozilla Fiorefox) dass der Bot mit IF und then arbeitet
könnt ihr mir bitte beschreiben wies geht?
SF - AutoIt3 08/29/2008 - Soldier Front - 2 Replies I was wondering if anyone had any ideas about how to get AutoIt to work in-game.I've made a type of Anti-Recoil tool that works flawlessly outside of the game.Maybe someone can check it out and see whats up with it.
The uploaded file comes with AutoIt v3 for those who do not have the updated version of AutoIt. Along with the .au3 script file as well as the compiled .exe for testing purposes.Any ideas would be appreciated.
The way this works is you run the .exe (or the .au3 file after...
AutoIt3 04/08/2008 - Metin2 - 4 Replies Hi,ich habe mir mal AutoIt3 instaliert und jetzt blicke ich garnichts mehr durch wie man da z.b attk speed hack erstellt oder fishing bot
ich verstehe nicht wo ich dieses zeug die codes also eintragen soll
und ja ich weiss einfach auch nicht wie die codes heißen
ES WÄRE TOLL WEN IHR MIR HELFEN KÖNNT!!::confused::o