Ich hab mir erstmal ein Wenig den grundsätzlichen Aufbau des Au3 Runtime-Interpreters zu Gemüte geführt und beim ersten Durchlauf erstmal das nervige Anti-Debug von Au3 ausgeschaltet (cute, IsDebuggerPresent call =D). Anschließend hab ich mir dann den Mainloop gesucht und die Calls angeschaut, die jeweils einen Teil des Befehls laden. Ist ein wenig blöd, weil vom Au3 Interpreter jeweils nur ein Teil des Befehls geladen und dann entschlüsselt wird. Ich hab halt mit meinem eigenen, kleinen mini-Debugger einen HW-Breakpoint auf die Adresse gesetzt, an der der PTR zu dem entschlüsselten Au3 Teil-Command in einem Register steht, gesetzt und mir immer den String in die Console dumpen lassen.
Sollte aber im Grunde kein Problem sein sich die Funktion nochmal genauer anzuschauen und dann zu recoden - der Algorithmus, der zur Verschlüsselung verwendet wird, ist ein einfaches XOR. Ergo ich würde jetzt, wenn ich etwas mehr Zeit hätte, wohl einfach nochmal die Funktion analysieren, die immer einen Part des Codes returnt. Darin könnte ich dann natürlich herrausfinden, wie und wo der Source stored ist; welchen ich dann anschließend durch den Algo entschlüsseln würde. Alles in allem durchaus ohne allzu große Umstände umsetzbar.
Ich möchte noch hinzufügen, dass ich mir das Ganze nicht sehr genau angesehen habe, ich hab etwa 30 Minuten daran rumreversed, meine Aussagen müssen also nicht unbedingt alle stimmen.
/Edit:
Quote:
Danke