Hallo Leute
ich hab hier eine DLL die auf mich gecrytet wirkt.
Nach dem ich mir jetzt paar Tutorials angeguckt habe ,hab ich festgestellt mit so Sachen wie antidebuger hat das nicht viel zu tun.
Es ist eher eine Art Verschlüsselung von 2-3 Subroutinen um Cracken zu verhindern/erschweren.
Mit Peid ist nichts erkennbar,es wird lediglich Visual Studio C++ angezeigt.
Auffälig ist vor allem das es exakte Bereiche betrifft und nicht die gesamte DLL außerdem
sind doch Text Strings nicht zu Lesen.
Hier mal ein paar Beispiele:
Normale Stelle:
Gecryptete Stelle (selbe DLL):
Auszug:
oder
Normal:
Crypted:
Wie kann ich nun an sowas herangehen?
Ich hab gehört es sollte sich wenn die DLL geladen ist uncryted im Speicher befinden, allerdings komm ich damit nicht groß weiter.
thx =)
ich hab hier eine DLL die auf mich gecrytet wirkt.
Nach dem ich mir jetzt paar Tutorials angeguckt habe ,hab ich festgestellt mit so Sachen wie antidebuger hat das nicht viel zu tun.
Es ist eher eine Art Verschlüsselung von 2-3 Subroutinen um Cracken zu verhindern/erschweren.
Mit Peid ist nichts erkennbar,es wird lediglich Visual Studio C++ angezeigt.
Auffälig ist vor allem das es exakte Bereiche betrifft und nicht die gesamte DLL außerdem
sind doch Text Strings nicht zu Lesen.
Hier mal ein paar Beispiele:
Normale Stelle:
Text strings referenced in Test:.text, item 1623
Address=10057EDB
Disassembly=PUSH Test.100781E8
Text string=ASCII "remove one 25b0 msg"
Gecryptete Stelle (selbe DLL):
Text strings referenced in Test:.text, item 1611
Address=10057720
Disassembly=ASCII "25Ô#?b?a,?,"
Auszug:
100404E5 . 38 3A 63 57 FB 00 ASCII "8:cW?",0
100404EB 2C DB 2C ; CHAR ','
100404EC 57 DB 57 ; CHAR 'W'
100404ED 76 DB 76 ; CHAR 'v'
100404EE BD DB BD
100404EF BE DB BE
100404F0 45 DB 45 ; CHAR 'E'
100404F1 CB DB CB
100404F2 E4 DB E4
100404F3 CF DB CF
100404F4 22 DB 22 ; CHAR '"'
100404F5 DC DB DC
100404F6 BD DB BD
100404F7 FE DB FE
oder
Normal:
1001C060 /$ 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
1001C064 |. 53 PUSH EBX
1001C065 |. 8BD9 MOV EBX,ECX
1001C067 |. 55 PUSH EBP
1001C068 |. 33ED XOR EBP,EBP
1001C06A |. 56 PUSH ESI
1001C06B |. 8B83 58600000 MOV EAX,DWORD PTR DS:[EBX+6058]
Crypted:
1003FBF5 . 2D E1F9FE3B SUB EAX,3BFEF9E1
1003FBFA . 34 60 XOR AL,60
1003FBFC . ED IN EAX,DX ; I/O command
1003FBFD . 15 C0D0CCF1 ADC EAX,F1CCD0C0
1003FC02 . FC CLD
1003FC03 . 19DE SBB ESI,EBX
1003FC05 . EE OUT DX,AL ; I/O command
1003FC06 . 21F5 AND EBP,ESI
1003FC08 . 52 PUSH EDX
1003FC09 . E1 2A LOOPDE SHORT silk.1003FC35
Wie kann ich nun an sowas herangehen?
Ich hab gehört es sollte sich wenn die DLL geladen ist uncryted im Speicher befinden, allerdings komm ich damit nicht groß weiter.
thx =)