AutoIt3 Decompiler

10/04/2011 13:33 link#31
Also kommt die Nachricht "Apparently, it didn't work.."?
Und dein Target ist eine 32-bit AutoIt v3.3.6.1-Exe?
Ich hab hier nämlich auch eine v3.3.6.0 und eine v3.3.6.1 Beispiel-Exe, die bei mir eigentlich problemlos 'dekompiliert' werden.
Aber du könntest mir dein Target mal schicken, damit ich schauen kann, was falsch läuft, da es sich dann ja vermutlich um eine modifizierte Exe handelt.
10/17/2011 21:27 SuiBom#32
Quote:
Originally Posted by link View Post
Mein Tool war zu speshul für das einfache Volk.
Ist jetzt nur noch für VIPs :P
Thanks link, that was the best laugh I have had in ages. (partly you and partly google translate)

If it is for speshul folk, then put that on your first post instead of xyz

Vlad
10/17/2011 23:57 cw2k#33
Hmm werde googlet findet mehr.

Nun beim 'original' MyAutToExe sind ist der Quellecode des Decompilers eigentlich immer mit dazu.
[Only registered and activated users can see links. Click Here To Register...] -> ([Only registered and activated users can see links. Click Here To Register...])

Quote:
Originally Posted by link
Mein Tool war zu speshul für das einfache Volk.
Ist jetzt nur noch für VIPs :P
Och jetzt hab ich mich hier extra angemeldet um mir mal eine VerMEW'ed closesource faceLifted Version vom >Open Source Auto script decompiler< zu kredenzen.

...und jetzt bin ich nur leider nicht VIP genug, um es Down-zu-load - für meine Sammlung.

Was muss ich tun um VIP zu werden?
Oder wenn es noch jemand hat, bitte PM oder hier mal 'ne Post absetzen.
10/18/2011 00:23 link#34
*psst* soll niemand wissen (falls ich dich jetzt richtig verstanden habe..)
10/19/2011 23:09 scbiz#35
Quote:
Originally Posted by cw2k View Post
eine VerMEW'ed closesource faceLifted Version vom >Open Source Auto script decompiler<
Dir ist schon aufgefallen, dass der (bis vor wenigen Tagen) hier angebotene AutoIt Decompiler in FASM geschrieben ist und das "Original" in VB?
10/26/2011 02:35 link#36
So, hab endlich mal die paar Bugs, die mir bekannt waren, gefixt und
es neu hochgeladen (war die letzten Wochen ein wenig unmotiviert..)


@SuiBom:
Quote:
Originally Posted by SuiBom
I think you might have a bit of competition up over here Dude:
Actually, I just saw that such targets weren't supported by myAutToExe which is why I figured I might write my own little tool for that kind of task
as I thought it could come in handy, means there wasn't any competition intended.


@cw2k:
Alter, wie lächerlich du dich aufführst.

Quote:
Originally Posted by cw2k
I read the thread at elitepvpers.com and beside it might be hard to get all what is written there, its just crap.
I guess it's intended that some things stay mysterious & unclear to appear knowing and professional. (^-So I deduce the autor is from the 'western' part of german - where seem to believe, that this kind of self-presentation is mandatory :D)
Quote:
Originally Posted by cw2k
Och jetzt hab ich mich hier extra angemeldet um mir mal eine VerMEW'ed closesource faceLifted Version vom >Open Source Auto script decompiler< zu kredenzen.
Du meinst also, ich wolle mich groß tun, sagst aber im gleichen Atemzug ohne jegliche Begründung, dass mein Tool scheiße sei (ohne es überhaupt vorher mal gesehen zu haben)?
Zusätzlich ziehst du aufgrund irgendwelcher zusammengedichteten Vorurteile willkürliche Schlüsse auf meine Herkunft und behauptest dann auch noch, dass ich dein Programm/deinen Source Code lediglich abgekupfert hätte?
Bei dir läuft's echt nicht mehr rund..

Btw. Deine Art zu schreiben ist unvorstellbar grauenhaft. Daraus schließe ich (will ja auch mal was deducen), dass du im Gegensatz zu mir gar nicht aus Deutschland kommst.
Da dein Englisch auch nicht gerade Musik für die Ohren ist, ziehe ich ferner den Schluss, dass Englisch auch nicht deine Muttersprache ist, du also aus'm Osmanischen Reich kommen musst.


Quotes sind aus [Only registered and activated users can see links. Click Here To Register...]
10/26/2011 09:29 cw2k#37
Hui da ist aber einer sauer. (Naja wäre ich auch.)
Sorry :handsdown: :handsdown: :handsdown:.

Mein Fehler + Verkettung 'unglücker' Umstände. War da etwas oberflächlich beim Lesen + Urteilen.

Und zwar kam das so:
Hab da die Bespiel Dateinamen in 2. Post dieses Threads gesehen(was für eine Ähnlichkeit die doch mit MATE haben) und weiter so beim schnell Drüberrutschen was von 'MEW' :mofo: aufgeschnappt (<- alles schon einpacken, das keiner reingucken kann und sieht das das FASM dann doch VB6 ist): + dieses ganzes Elite-und-Vip-Getune; das war auch gleich nochmal 'Wasser auf die Mühle' und schwup-die-schwup war es fertig, das >Vorurteil<. :o

[Only registered and activated users can see links. Click Here To Register...]
So habe das auch ^da^ versucht, das wieder etwas ins Lot zubringen.
(Scrolle manuell zu 'Post: #94' - weil die Linkprotection hier leider das '...=29&pid=1649#pid1649' - Ankerpunkt-Lesezeichen am Ende vernascht)
10/26/2011 21:29 cw2k#38
:p Buh schön das der 'Mief' jetzt aus der Welt ist.

Nun ich muss sagen geniales Tool! Sneaken wir doch einfach an Armadildo ;) , Themida & AutoIt3Camo vorbei.

Und wegen dem 'Verpacken'. Im Moment ist das ja so realisiert, das Exe2Aut.exe die 'DecompilerDll' aus rsrc\icon\4 in eine temporäre Datei entpackt um die anschliessend vom 'ZielProcess' wieder laden zu lassen.
Man kann aber auch eine *.exe mittels LoadLibrary laden. (für diesen seltenen Fall ist es schon von Vorteil, wenn die *.exe noch die '.reloc'ation section hat )
Und eine exe darf auch Exports haben. <-Ist aber nur für den Fall interessant, wenn das mit exe_EntryPoint = dll_EntryPoint irgendwie unvereinbar ist.

Jedenfalls die Idee ist, die Exe2Aut.exe auch gleich als 'DecompilerDll' zu verwenden. Wenn das geht, könnte man auf diesen extrahier'Zirkus verzichten.

Zum Packen - nehme ich (für die selten Fälle wo ich überhaupt noch was einpacke) UPX, weil sich das auch wieder Problem und nahezu Verlustfrei samt PE-Header wieder auspacken lässt.
Neben der normalen Komprimierung unterstützt UPX auf LZMA (upx.exe --lzma) womit man ähnliche Packraten wie mit PECompact erzielt.
Preis bei der Sache ist, das der Entpacken ca 2-3 mal solange dauert als bei den 'standard' UPX-Pack-algorithmen und der minimal grössere UPX-Entpackstub(fällt nur bei extrem kleinen Dateien sehr ins Gewicht).

Im Interesse der Klarheit und der Speicherverwaltung zu liebe verzichte ich jedoch wenn möglich was Laufzeitpacker wie UPX.
Die Sache ist, das laufzeit entpackte Daten, wenn der Arbeitsspeicher und es ans Auslagern immer in die Auslagerungsdatei verschoben werden müssen. Eine ungepackte Exe mit eine readonly .text-section kann stattdessen gemapted werden. Das heißt anstelle die .text-section in die Auslagerungsdatei zu verschieben(um Arbeitsspeicher frei zu kriegen), kann direkt auf die .text-section in der *.exe auf der Festplatte verwiesen werden. Das spart unnötige Schreibvorgänge und Zeit.
^- klar ist hier noch ziemliches theoretische 'Pfenniggefuchse' und wenn hier sich Zeiteinsparung den Millisekundenbereich erreicht ist das sicher so viel.
Aber mit jeden Thread/Process summiert sich das ganz.
Und so ist es sicher auch schön sich nur ganz theoretisch an dem Gedanken zu erfreuen, das so alles optimale laufen kann.

Damals in einen Anfall von UPX-Manie hatte ich mal fasst meinen ganzen Windows\system32 gepackt - da eujeujeu hat das als der dann ohne Fehler hochgefahren ist, schon ganz schön gerattert in der Kiste und merklich länger gedauert als bei dem ungepackten Windows.
10/26/2011 21:55 SuiBom#39
Quote:
@SuiBom:

Actually, I just saw that such targets weren't supported by myAutToExe which is why I figured I might write my own little tool for that kind of task
as I thought it could come in handy, means there wasn't any competition intended.
Nothing wrong with a little healthy competition dude even if that was not your initial intention, interest comes in all shapes and guises.

Good to see Exe2Aut back in the public eye, well done.

Now people have two different approaches for decompilation, and two fine tools for thier boxes.

Respect

Vlad
10/26/2011 23:39 link#40
Quote:
Originally Posted by SuiBom
Now people have two different approaches for decompilation, and two fine tools for thier boxes.
lol, sounds like you would be glad :P

Quote:
Originally Posted by cw2k
Man kann aber auch eine *.exe mittels LoadLibrary laden. (für diesen seltenen Fall ist es schon von Vorteil, wenn die *.exe noch die '.reloc'ation section hat )
Hast du das zufällig schon einmal gemacht bzw. einen funktionierenden Code?
Ich hab's mir nämlich gerade mal kurz angeschaut und anscheinend wird weder die Datei reloziert, noch werden EntryPoint oder Imports berücksichtigt, wenn das Dll-Flag nicht gesetzt ist.

Wenn es gesetzt sein sollte, funktioniert es zwar, nur lässt sich die Datei dann nicht mehr als Exe ausführen..

Hab so mal versucht zu unterscheiden, als was es geladen wurde:
(bringt nur nicht viel, wenn man halt immer wieder die Characteristics patchen müsste)
Code:
start:
        mov     eax,[esp+4]
        mov     ecx,$
        and     eax,not 0FFFFh
        and     ecx,not 0FFFFh
        cmp     eax,ecx
        je      DllMain
        push    MB_OK
        push    _title
        push    _exe
        push    0
        call    [MessageBox]
        push    0
        call    [ExitProcess]

proc DllMain hinstDLL,fdwReason,lpvReserved
        cmp     [fdwReason],DLL_PROCESS_ATTACH
        jnz     .fin
        push    MB_OK
        push    _title
        push    _dll
        push    0
        call    [MessageBox]
        mov     eax,TRUE
    .fin:
        ret
endp
PS: Jetzt mal ernsthaft.. wenn du auf Deutsch schreibst, verschluckst du des Öfteren Silben oder ganze Wörter.. im Englischen scheint dir das nicht zu passieren..
10/27/2011 00:39 SuiBom#41
Quote:
Originally Posted by link View Post
lol, sounds like you would be glad :P
Glad? I am positively overjoyed, its just a shame it took so long for an alternative to appear.
10/27/2011 14:02 manniL#42
Seit einigen AutoIt Versionen ist das decompilen direkt von AutoIt verboten wurden und das Programm damit illegal.
10/27/2011 15:52 Cholik#43
Quote:
Originally Posted by ManniL View Post
Seit einigen AutoIt Versionen ist das decompilen direkt von AutoIt verboten wurden und das Programm damit illegal.
Quote:
Reverse engineering. You may not reverse engineer or disassemble the SOFTWARE PRODUCT or compiled scripts that were created with the SOFTWARE PRODUCT.
Somit ist das Programm nicht illegal, höchstens die Nutzung.
10/28/2011 00:45 cw2k#44
Quote:
Originally Posted by link View Post
Hast du das zufällig schon einmal gemacht bzw. einen funktionierenden Code?

Quote:
Originally Posted by link View Post
Ich hab's mir nämlich gerade mal kurz angeschaut und anscheinend wird weder die Datei reloziert, noch werden EntryPoint oder Imports berücksichtigt, wenn das Dll-Flag nicht gesetzt ist.
Wenn es gesetzt sein sollte, funktioniert es zwar, nur lässt sich die Datei dann nicht mehr als Exe ausführen..[/QUOTE]
Ja sehe ich leider auch gar - außer ZwMapViewOfSection macht er Windoofsloader da nicht viel, keine Relocations und keine Imports.
Und wieder so ein Fall von:
Was nicht getestet wurde - geht nicht! :D

Nun das war nur so'ne fix Idee und der 'Test:
Zum Ausprobieren habe ich mir da irgend eine *.Exe nach *.dll umgenannt und dann mal geschaut war Rechtklick\'Reg'( <= keine Strandfunktion; eigene Verknüpfung ;) ) also regsvr32.exe <mit der *.dll umgenannt Exe> sagt.
Soso LoadLibrary erfolgreich ... -> könnte funktionieren.
Quote:
Originally Posted by link View Post
Hab so mal versucht zu unterscheiden, als was es geladen wurde:
(bringt nur nicht viel, wenn man halt immer wieder die Characteristics patchen müsste)
Ja diese Lösung find ich auch doof - da ist das mit dem Tempfile schon 'schöner'.

Anstelle des TempFiles kann man ja mal mit einer 'Named Pipe' experimentieren. Ziel ist das dabei nicht sinnlos auf der Festplatte rumgeschrieben wird, sondern alles nur im Speicher passiert.
[Only registered and activated users can see links. Click Here To Register...]
So das Teil lässt sich auch mit CreateFile öffnen und mit ReadFile/WriteFile schreiben.
Zu dem oberen Beispiel gibt es auch noch einen Clientpart. Man kann jedoch auch so ein wenig damit experimentieren
"copy con \\.\pipe\mynamedpipe"
z.B. Bringt keine Fehlermeldung, wenn das Multithreaded Pipe Server Beispiel läuft.
Bei LoadLibraryA("\\.\pipe\mynamedpipe") sieht es jedoch wieder schlecht aus.
Hab das mit Ollydbg ein wenig 'verfolgt' - der kommt leider nicht mal bis zu der Stelle wo der die dll mit ZwOpenFile öffnet, weil er irgendwie schon früher in ntdll!LdrpCheckForLoadedDll den 'Abgang' macht - RtlDosSearchPath_UEx() passt irgendwie der Dateiname nicht.


Damit Ollydbg so interne Name wie 'LdrpCheckForLoadedDll' anzeigt muss die 'ntdll.pdb' im selben Verzeichnis wie ntdll.dll sein. So lade ich *.pdb runter:
c:\Programme\Debugging Tools for Windows (x86)\dbh.exe -n ntdll.dll
DBGHELP: ntdll - public symbols
T:\SymbolsCache\ntdll.pdb\CEFC0863B1F84130A11E0F54 180CD21A2\ntdll.pdb
^-und die dann nach Windows\system32 kopieren
Quote:
Originally Posted by link View Post
PS: Jetzt mal ernsthaft.. wenn du auf Deutsch schreibst, verschluckst du des Öfteren Silben oder ganze Wörter.. im Englischen scheint dir das nicht zu passieren..
Tja die eigenen Fehler sind oft am spannendsten. ;) Und durch Fehler wird man klug - deswegen kann man nie genug machen. Und Programmieren passt das super rein: 10% Programmcode schreiben - 90% Fehlersuche.

Nun viel dagegen machen kann ich da auch nicht - außer aufpassen und alles wenigsten vor dem Postern noch einmal durchlesen. Nun im Englischen hab ich übrigens öfter so 'Gleichklangfehler', als wie z.B. 'how' mit 'who' verwechseln. <-Wo ich dann später sage ist doch total unlogisch und dabei hatte ich doch auch 'how' gedacht (und dann doch 'who' geschrieben).
10/28/2011 23:17 scbiz#45
Quote:
Originally Posted by ManniL View Post
Seit einigen AutoIt Versionen ist das decompilen direkt von AutoIt verboten wurden und das Programm damit illegal.
Quote:
Originally Posted by Walter Sobchak View Post
Somit ist das Programm nicht illegal, höchstens die Nutzung.
Bullshit. Wer gegen irgendwelche AGBs verstößt, verstößt noch lange nicht gegen geltendes Deutsches Recht. In Deutschland ist Reverse Engineering [Only registered and activated users can see links. Click Here To Register...].