|
You last visited: Today at 12:07
Advertisement
DecompileMe
Discussion on DecompileMe within the AutoIt forum part of the Coders Den category.
08/12/2011, 16:40
|
#16
|
elite*gold: 35
Join Date: Apr 2011
Posts: 800
Received Thanks: 214
|
Wtf das hat sonst keiner der andern gehabt die ich getestet hab zum vergleichen... egal
ich versuchs ev nochma...
|
|
|
08/12/2011, 17:02
|
#17
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
^ist die autoit bin aus den aut2exe Ordner.
|
|
|
08/13/2011, 13:36
|
#18
|
elite*gold: 35
Join Date: Apr 2011
Posts: 800
Received Thanks: 214
|
€:Schaffe es nicht echt hart aber bin ja auch kein pro... hab das abc jetz auch in andern scripts gefunden
|
|
|
08/13/2011, 22:39
|
#19
|
elite*gold: 0
Join Date: Jun 2009
Posts: 2,235
Received Thanks: 810
|
habs auch net geschafft zu decompilern
ich hab ******4AutoIt benutzt
kahm nur eine textdatei mit ganzen tokens geschwafel
aber kein src
|
|
|
08/14/2011, 10:00
|
#20
|
elite*gold: 271
Join Date: Jan 2011
Posts: 873
Received Thanks: 7,599
|
Ich habs auch mal versucht, kam aber leider nicht so viel raus.
Als allererstes natürlich entpacken(UPX).
Dann mit nem stinknormalen AutoIt decompiler --> nix gebracht.
Dann Programm debugen und C bzw. Assembler Code versuchen zu bekommen:
Was raus kam(main-Methode)
PHP Code:
int main(int argc m[r28 + 4], char ** argv m[r28 + 8], char ** envp m[r28 + 12]) { r28, r24 } parameters: end parameters Twoway BB: 0040d7f0 0 *32* r28 := r28 - 4 0 *32* m[r28] := r29 0040d7f1 0 *32* r29 := r28 0040d7f3 0 *32* r28 := r28 & -8 0 *v* %flags := LOGICALFLAGS32( r28 ) 0040d7f6 0 *32* r24 := m[0x4a939c] 0040d7fb 0 *32* tmp1 := r28 0 *32* r28 := r28 - 44 0 *v* %flags := SUBFLAGS32( tmp1, 44, r28 ) 0040d7fe 0 *32* r28 := r28 - 4 0 *32* m[r28] := r27 0040d7ff 0 *32* r27 := 0 0 *v* %flags := LOGICALFLAGS32( r27 ) 0040d801 0 *32* r28 := r28 - 4 0 *32* m[r28] := r30 0040d802 0 *32* r28 := r28 - 4 0 *32* m[r28] := r31 0040d803 0 *8* tmpb := m[r24 + 29] - r11 0 *v* %flags := SUBFLAGS8( m[r24 + 29], r11, tmpb ) 0040d806 0 BRANCH 0x431bcb, condition equals High level: %flags L1: Oneway BB: 00431bcb 0 *32* r24 := 1 00431bd0 0 GOTO 0x40d8e8 Call BB: 0040d80c 0 *32* r25 := m[r29 + 8] 0040d80f 0 *32* r31 := 1 0040d814 0 *32* r30 := r28 + 24 0040d818 0 *32* m[0x4972c8] := r25 0040d81e 0 *32* m[0x49729c] := r27 0040d824 0 *32* m[0x497298] := r27 0040d82a 0 *32* m[r28 + 24] := r27 0040d82e 0 *32* m[r28 + 32] := r31 0040d832 0 *32* m[r28 + 36] := r27 0040d836 0 *32* m[r28 + 40] := r27 0040d83a 0 *32* m[r28 + 48] := r31 0040d83e 0 *32* m[r28 + 52] := r27 0040d842 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc - 0x457d 0 CALL proc1( ) Reaching definitions: Live variables: Call BB: 0040d847 0 *32* r26 := r28 + 40 0040d84b 0 *32* r30 := r28 + 12 0040d84f 0 *32* m[r28 + 32] := 6 0040d857 0 *32* m[r28 + 24] := r26 0040d85b 0 *32* m[r28 + 12] := r27 0040d85f 0 *32* m[r28 + 20] := r27 0040d863 0 *32* m[0x4972c4] := r27 0040d869 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc + 0x12ec 0 CALL proc2( ) Reaching definitions: Live variables: Twoway BB: 0040d86e 0 *8* tmpb := r8 0 *v* %flags := LOGICALFLAGS8( tmpb ) 0040d870 0 BRANCH 0x40d87e, condition equals High level: %flags L2: Call BB: 0040d87e 0 *32* r28 := r28 - 4 0 *32* m[r28] := 0x439514 0040d883 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc + 0x4248 0 CALL proc4( ) Reaching definitions: Live variables: Call BB: 0040d872 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc + 0x1333 0 CALL proc3( ) Reaching definitions: Live variables: Computed call BB: 0040d877 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := r24 0 CALL r24( ) Reaching definitions: Live variables: Fall BB: 0040d879 0 *32* m[0x4972c4] := r24 Call BB: 0040d888 0 *32* tmp1 := r28 0 *32* r28 := r28 + 4 0 *v* %flags := ADDFLAGS32( tmp1, 4, r28 ) 0040d88b 0 *32* r28 := r28 - 4 0 *32* m[r28] := r31 0040d88c 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc + 0x429d 0 CALL proc5( ) Reaching definitions: Live variables: Call BB: 0040d891 0 *32* r24 := m[0x4a93a0] 0040d896 0 *32* tmp1 := r28 0 *32* r28 := r28 + 4 0 *v* %flags := ADDFLAGS32( tmp1, 4, r28 ) 0040d899 0 *32* r28 := r28 - 4 0 *32* m[r28] := r24 0040d89a 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc + 0x1adb 0 CALL proc6( ) Reaching definitions: Live variables: Call BB: 0040d89f 0 *32* r24 := m[r29 + 16] 0040d8a2 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc - 461 0 CALL proc7( ) Reaching definitions: Live variables: Call BB: 0040d8a7 0 *32* r25 := m[0x4a93a0] 0040d8ad 0 *32* r26 := m[r25 + 4] 0040d8b0 0 *32* r28 := r28 - 4 0 *32* m[r28] := 2 0040d8b2 0 *32* r28 := r28 - 4 0 *32* m[r28] := r26 0040d8b3 0 *32* r28 := r28 - 4 0 *32* m[r28] := r27 0040d8b4 0 *32* r28 := r28 - 4 0 *32* m[r28] := 0x2001 0040d8b9 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := m[0x4825ac] 0 CALL SystemParametersInfoW( ) Reaching definitions: Live variables: Twoway BB: 0040d8bf 0 *32* r24 := m[r28 + 12] 0040d8c3 0 *32* r31 := m[0x49729c] 0040d8c9 0 *32* tmp1 := r24 - r27 0 *v* %flags := SUBFLAGS32( r24, r27, tmp1 ) 0040d8cb 0 BRANCH 0x40d8d4, condition equals High level: %flags L3: Call BB: 0040d8d4 0 *32* r30 := r28 + 40 0040d8d8 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc - 0x4613 0 CALL proc1( ) Reaching definitions: Live variables: Call BB: 0040d8cd 0 *32* r28 := r28 - 4 0 *32* m[r28] := r24 0040d8ce 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := m[0x482318] 0 CALL FreeLibrary( ) Reaching definitions: Live variables: Call BB: 0040d8dd 0 *32* r30 := r28 + 24 0040d8e1 0 *32* r28 := r28 - 4 0 *32* m[r28] := %pc 0 *32* %pc := %pc - 0x461c 0 CALL proc1( ) Reaching definitions: Live variables: Fall BB: 0040d8e6 0 *32* r24 := r31 L4: Ret BB: 0040d8e8 0 *32* r31 := m[r28] 0 *32* r28 := r28 + 4 0040d8e9 0 *32* r30 := m[r28] 0 *32* r28 := r28 + 4 0040d8ea 0 *32* r27 := m[r28] 0 *32* r28 := r28 + 4 0040d8eb 0 *32* r28 := r29 0040d8ed 0 *32* r29 := m[r28] 0 *32* r28 := r28 + 4 0040d8ee 0 *32* %pc := m[r28] 0 *32* r28 := r28 + 20 0 RET
Auch nicht wirklich ein vorzeigbares Ergebnis.
Dann nochmal mit nem HEX-Editor öffnen und den Header(daran scheitert wohl der decompiler) mit demjenigen einer normalen AutoIt-Datei zu vergleichen --> fehlgeschlagen, da anscheinend der komplette Header die Position geändert hat, und ich nicht der Profi in Assembler bin.
Fazit: nicht geschafft
Es gibt hier noch viel erfahrenere Leute, frag mal zB Mods aus der Coding-Section die haben da mehr Chancen.
|
|
|
08/14/2011, 12:35
|
#21
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Also die DecompileMes haben einen schönen Ansatz, ist aber eben wie gesagt nur ein Ansatz. Ich denke mal dass V2 und die normale dieselbe Methode benutzen.
Da ich aber etwas ähnliches schon einmal selbst gemacht habe und mich dementsprechend auch gut mit dem AutoIt- Compiler auskenne ging das Finden des richtigen AutoIt-Skripts ziemlich schnell:
PHP Code:
CONST $TITLE = "DecompileMe V2"
If @Compiled Then
If StringRight(@OSLang, 2) = 7 Then
MsgBox(0, $TITLE, "Versuch den Quellcode zu bekommen!")
Else
MsgBox(0, $TITLE, "Try to get the sourcecode!")
EndIf
EndIf
|
|
|
08/14/2011, 12:46
|
#22
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
V2 ist ja auch von dir^^(Safe.exe)
Versuchs mal bei V1.
|
|
|
08/14/2011, 12:50
|
#23
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Unpublished
V2 ist ja auch von dir^^(Safe.exe)
Versuchs mal bei V1.
|
Du hast die Zahl viel zu klein gewählt.
Deine Zahl dürfte so 10-1000 gewesen sein, das ist viel zu wenig.
Die Zahl muss viel größer sein.
Und ich glaube du verwendest eine alte Version von Safe.exe ist das möglich?
P.S.
Jetzt nachdem ich das weiß hab ich das Gefühl, dass V1 auch nicht von dir selbst geschützt wurde.
|
|
|
08/14/2011, 12:57
|
#24
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
Was ändert denn die Höhe der Zahl?
Wie oft die anderen 3 Scripte eingebaut werden?
Zur Info habe 1 eingegeben und Version 1.1.1.
|
|
|
08/14/2011, 13:06
|
#25
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Unpublished
Was ändert denn die Höhe der Zahl?
Wie oft die anderen 3 Scripte eingebaut werden?
Zur Info habe 1 eingegeben und Version 1.1.1.
|
Naja die Zahl bestimmt die Sicherheitsstufe.
Das kannst du damit vergleichen:
Du willst dein Fahrrad absperren. Du hast von einem einfachen Bindfaden bishin zum Tresor alles da. Und du entscheidest dich jetzt für den Bindfaden und wunderst dich, dass es geklaut wurde.
Der Vorteil vom Bindfaden ist eindeutig. Er ist schnell hin zu machen aber auch schnell wieder weg zu machen. Der Bindfaden wäre bei uns die 1 und sagen wir ein Stein die 2 und ein Fahrradschloss die 3.
Jetzt ist klar, nehme ich die 1 riskiere ich, dass mein Fahrrad extrem schnell geklaut wird, dafür kann ich es auch extrem schnell starten.
Nehme ich das Fahrradschloss, so dauert das ran und ab machen zwar länger, aber es ist sicherer.
Bei meiner Safe.exe wirkt es sich zwar nur minimalst auf die Geschwindigkeit aus, dafür aber auf die Dateigröße.
Deswegen nimmt man wenn es relativ egal ist wie sicher es ist und man es einfach nur vor Noobs schützen will eine relativ kleine Zahl (100 und kleiner).
Dafür ist die Datei kaum größer als das Original. Ich nehme bei mir immer 30000-50000 damit ist man sehr sicher und die Datei hat ca 800kb Größe (ungepackt).
|
|
|
08/14/2011, 13:48
|
#26
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
So in der V1.1 ist neu:
Source geändert da Shadow den von der V2 gepostet hat
Besserer Packer welchen seht ihr ja bei VT
Kommt gleich.
|
|
|
08/14/2011, 14:17
|
#27
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Unpublished
So in der V1.1 ist neu:
Source geändert da Shadow den von der V2 gepostet hat
Besserer Packer welchen seht ihr ja bei VT
Kommt gleich.
|
Für mich schaut es so aus als hättest du in V1 die Verschlüsselung des Compilers geändert. Hast du das per Programm gemacht oder per Hand?
|
|
|
08/14/2011, 14:28
|
#28
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
Mit nem Programm.
Und V1.1 ist jetzt da.
|
|
|
08/14/2011, 14:33
|
#29
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Unpublished
Mit nem Programm.
Und V1.1 ist jetzt da.
|
Selbstgemacht oder nicht?
Denn wenn es nicht selbstgemacht ist, würde mich es echt einmal interessieren.
Ein Link dazu wäre ganz praktisch.
|
|
|
08/14/2011, 14:53
|
#30
|
elite*gold: 725
Join Date: Sep 2009
Posts: 1,432
Received Thanks: 1,911
|
AutoIt3Camo heißt das Prog.
|
|
|
All times are GMT +1. The time now is 12:08.
|
|