2 neue Crackmes

SUID:root

Member of Honour
So. Da Crackmes ja immernoch sehr beliebt sind, hier mal 2 Stück.
Im Grunde sind sie gleich, nur ist Nummer 3 protected während Nummer 2 recht easy ist.

Hier gibts die Crackmes

hf.

root
 

ivegotmail

Member of Honour
also das erste (crackme2) ist "cyborg".

edit: das zweite (crackme3) ist "cracker-god".

btw kann ich mal bitte den sourcecode zu crackme3 sehen?
 
C

coder

Guest
verdammt wieso muss eigentlich sofort jeder die lösung posten so das man selber keinen ansporn mehr hat das zu lösen?

:(

so long,,,?
 
E

Erde

Guest
Hi

Kleiner Tipp;

Er hat mit Borland Delphi gecodet.

saludo erde
 

SUID:root

Member of Honour
Original von coder
verdammt wieso muss eigentlich sofort jeder die lösung posten so das man selber keinen ansporn mehr hat das zu lösen?

:(

so long,,,?

Das machen wir hier schon immer so. Der Erste postet die Lösung.
Der der es crackt, darf auch posten. Wie beim Filmzitate raten.

Ich kann die CMs aber mit einem neuen PW versehen und nochmal einstellen.
Mache bei Zeit auch noch ein paar Neue.

@ivegotmail: Gratuliere.Mit Nummer 3 überraschst du mich.:)
Der Code bei zwei und drei ist idntisch bis auf das PW. Ich habe aber eine Delphi-Komponente eingebaut, die verschiedene Schutzfunktionen integriert. Mir ging es eigentlich hauptsächlich darum, das Patchen zu erschweren.

Kann dir die Sources incl. der Komponente komplett per Mail schicken, wenn du willst.

Musst mir nur ne PM schicken.

Verrätst du auch noch die Lösung?
Wie hast du es geschafft?

Viele Grüsse

root
 
C

coder

Guest
Original von SUID:root
Original von coder
verdammt wieso muss eigentlich sofort jeder die lösung posten so das man selber keinen ansporn mehr hat das zu lösen?

:(

so long,,,?

Das machen wir hier schon immer so. Der Erste postet die Lösung.
Der der es crackt, darf auch posten. Wie beim Filmzitate raten.

sorry wusste ich nicht, aber ich finde es trotzdem net so gut :D
egal ich habe momentan leider eh keine zeit :(

so long,,,?
 
E

Erde

Guest
Hi

@SUID:root, was hast du in Crackme 3 eingebaut?

Irgendwas kenne ich noch nicht. Ich habe das Ding schon x mal gepatcht.

Code:
00401002   40               INC EAX
00401003   000A             ADD BYTE PTR DS:[EDX],CL
00401005   06               PUSH ES
00401006   53               PUSH EBX
00401007   74 72            JE SHORT crackme3.0040107B
00401009   696E 67 58104000 IMUL EBP,DWORD PTR DS:[ESI+67],crackme3.>; ASCII 07,"TObject"
00401010   0000             ADD BYTE PTR DS:[EAX],AL
00401012   0000             ADD BYTE PTR DS:[EAX],AL
00401014   0000             ADD BYTE PTR DS:[EAX],AL
00401016   0000             ADD BYTE PTR DS:[EAX],AL
00401018   0000             ADD BYTE PTR DS:[EAX],AL
0040101A   0000             ADD BYTE PTR DS:[EAX],AL
0040101C   0000             ADD BYTE PTR DS:[EAX],AL
0040101E   0000             ADD BYTE PTR DS:[EAX],AL
00401020   0000             ADD BYTE PTR DS:[EAX],AL
00401022   0000             ADD BYTE PTR DS:[EAX],AL
00401024   0000             ADD BYTE PTR DS:[EAX],AL
00401026   0000             ADD BYTE PTR DS:[EAX],AL
00401028   0000             ADD BYTE PTR DS:[EAX],AL
0040102A   0000             ADD BYTE PTR DS:[EAX],AL
0040102C   58               POP EAX
0040102D   1040 00          ADC BYTE PTR DS:[EAX],AL
00401030   04 00            ADD AL,0
00401032   0000             ADD BYTE PTR DS:[EAX],AL
00401034   0000             ADD BYTE PTR DS:[EAX],AL
00401036   0000             ADD BYTE PTR DS:[EAX],AL
00401038   48               DEC EAX
00401039   2F               DAS
0040103A   40               INC EAX
0040103B   00542F 40        ADD BYTE PTR DS:[EDI+EBP+40],DL
0040103F   0058 2F          ADD BYTE PTR DS:[EAX+2F],BL
00401042   40               INC EAX
00401043   005C2F 40        ADD BYTE PTR DS:[EDI+EBP+40],BL
00401047   0050 2F          ADD BYTE PTR DS:[EAX+2F],DL
0040104A   40               INC EAX
0040104B   00142E           ADD BYTE PTR DS:[ESI+EBP],DL
0040104E   40               INC EAX
0040104F   0030             ADD BYTE PTR DS:[EAX],DH
00401051   2E:40            INC EAX                                  ; Superfluous prefix
00401053   004C2E 40        ADD BYTE PTR DS:[ESI+EBP+40],CL
00401057   0007             ADD BYTE PTR DS:[EDI],AL
00401059   54               PUSH ESP
0040105A   4F               DEC EDI
0040105B   626A 65          BOUND EBP,QWORD PTR DS:[EDX+65]
0040105E   6374FF 25        ARPL WORD PTR DS:[EDI+EDI*8+25],SI
00401062   10D1             ADC CL,DL
00401064   40               INC EAX
00401065   008B C0FF250C    ADD BYTE PTR DS:[EBX+C25FFC0],CL
0040106B   D140 00          ROL DWORD PTR DS:[EAX],1
0040106E   8BC0             MOV EAX,EAX
00401070  -FF25 08D14000    JMP DWORD PTR DS:[<&kernel32.RtlUnwind>] ; ntdll.RtlUnwind
00401076   8BC0             MOV EAX,EAX
00401078  -FF25 04D14000    JMP DWORD PTR DS:[<&kernel32.UnhandledEx>; kernel32.UnhandledExceptionFilter
0040107E   8BC0             MOV EAX,EAX
00401080  -FF25 00D14000    JMP DWORD PTR DS:[<&kernel32.WriteFile>] ; kernel32.WriteFile
00401086   8BC0             MOV EAX,EAX
00401088  -FF25 24D14000    JMP DWORD PTR DS:[<&user32.CharNextA>]   ; user32.CharNextA
0040108E   8BC0             MOV EAX,EAX
00401090  -FF25 FCD04000    JMP DWORD PTR DS:[<&kernel32.ExitProcess>; kernel32.ExitProcess
00401096   8BC0             MOV EAX,EAX
00401098  -FF25 20D14000    JMP DWORD PTR DS:[<&user32.MessageBoxA>] ; user32.MessageBoxA
0040109E   8BC0             MOV EAX,EAX
004010A0  -FF25 F8D04000    JMP DWORD PTR DS:[<&kernel32.FindClose>] ; kernel32.FindClose
004010A6   8BC0             MOV EAX,EAX
004010A8  -FF25 F4D04000    JMP DWORD PTR DS:[<&kernel32.FindFirstFi>; kernel32.FindFirstFileA
004010AE   8BC0             MOV EAX,EAX
004010B0  -FF25 F0D04000    JMP DWORD PTR DS:[<&kernel32.FreeLibrary>; kernel32.FreeLibrary
004010B6   8BC0             MOV EAX,EAX
004010B8  -FF25 ECD04000    JMP DWORD PTR DS:[<&kernel32.GetCommandL>; kernel32.GetCommandLineA
004010BE   8BC0             MOV EAX,EAX
004010C0  -FF25 E8D04000    JMP DWORD PTR DS:[<&kernel32.GetLocaleIn>; kernel32.GetLocaleInfoA
004010C6   8BC0             MOV EAX,EAX
004010C8  -FF25 E4D04000    JMP DWORD PTR DS:[<&kernel32.GetModuleFi>; kernel32.GetModuleFileNameA
004010CE   8BC0             MOV EAX,EAX
004010D0  -FF25 E0D04000    JMP DWORD PTR DS:[<&kernel32.GetModuleHa>; kernel32.GetModuleHandleA
004010D6   8BC0             MOV EAX,EAX
004010D8  -FF25 DCD04000    JMP DWORD PTR DS:[<&kernel32.GetProcAddr>; kernel32.GetProcAddress
004010DE   8BC0             MOV EAX,EAX
004010E0  -FF25 D8D04000    JMP DWORD PTR DS:[<&kernel32.GetStartupI>; kernel32.GetStartupInfoA
004010E6   8BC0             MOV EAX,EAX
004010E8  -FF25 D4D04000    JMP DWORD PTR DS:[<&kernel32.GetThreadLo>; kernel32.GetThreadLocale
004010EE   8BC0             MOV EAX,EAX
004010F0  -FF25 D0D04000    JMP DWORD PTR DS:[<&kernel32.LoadLibrary>; kernel32.LoadLibraryExA
004010F6   8BC0             MOV EAX,EAX
004010F8  -FF25 1CD14000    JMP DWORD PTR DS:[<&user32.LoadStringA>] ; user32.LoadStringA
004010FE   8BC0             MOV EAX,EAX
00401100  -FF25 CCD04000    JMP DWORD PTR DS:[<&kernel32.lstrcpynA>] ; kernel32.lstrcpynA
00401106   8BC0             MOV EAX,EAX
00401108  -FF25 C8D04000    JMP DWORD PTR DS:[<&kernel32.lstrlenA>]  ; kernel32.lstrlenA
0040110E   8BC0             MOV EAX,EAX
00401110  -FF25 34D14000    JMP DWORD PTR DS:[<&advapi32.RegCloseKey>; ADVAPI32.RegCloseKey
00401116   8BC0             MOV EAX,EAX
00401118  -FF25 30D14000    JMP DWORD PTR DS:[<&advapi32.RegOpenKeyE>; ADVAPI32.RegOpenKeyExA
0040111E   8BC0             MOV EAX,EAX
00401120  -FF25 2CD14000    JMP DWORD PTR DS:[<&advapi32.RegQueryVal>; ADVAPI32.RegQueryValueExA
00401126   8BC0             MOV EAX,EAX
00401128  -FF25 C4D04000    JMP DWORD PTR DS:[<&kernel32.WideCharToM>; kernel32.WideCharToMultiByte
0040112E   8BC0             MOV EAX,EAX
00401130  -FF25 3CD14000    JMP DWORD PTR DS:[<&oleaut32.SysFreeStri>; oleaut32.SysFreeString
00401136   8BC0             MOV EAX,EAX
00401138  -FF25 C0D04000    JMP DWORD PTR DS:[<&kernel32.GetCurrentT>; kernel32.GetCurrentThreadId
0040113E   8BC0             MOV EAX,EAX
00401140   53               PUSH EBX
00401141   83C4 BC          ADD ESP,-44
00401144   BB 0A000000      MOV EBX,0A
00401149   54               PUSH ESP
0040114A   E8 91FFFFFF      CALL <JMP.&kernel32.GetStartupInfoA>
0040114F   F64424 2C 01     TEST BYTE PTR SS:[ESP+2C],1
00401154   74 05            JE SHORT crackme3.0040115B
00401156   0FB75C24 30      MOVZX EBX,WORD PTR SS:[ESP+30]
0040115B   8BC3             MOV EAX,EBX
0040115D   83C4 44          ADD ESP,44
00401160   5B               POP EBX
00401161   C3               RETN
00401162   8BC0             MOV EAX,EAX
00401164  -FF25 BCD04000    JMP DWORD PTR DS:[<&kernel32.LocalAlloc>>; kernel32.LocalAlloc
0040116A   8BC0             MOV EAX,EAX
0040116C  -FF25 B8D04000    JMP DWORD PTR DS:[<&kernel32.LocalFree>] ; kernel32.LocalFree
00401172   8BC0             MOV EAX,EAX
00401174  -FF25 B4D04000    JMP DWORD PTR DS:[<&kernel32.VirtualAllo>; kernel32.VirtualAlloc
0040117A   8BC0             MOV EAX,EAX
0040117C  -FF25 B0D04000    JMP DWORD PTR DS:[<&kernel32.VirtualFree>; kernel32.VirtualFree
00401182   8BC0             MOV EAX,EAX
00401184  -FF25 ACD04000    JMP DWORD PTR DS:[<&kernel32.InitializeC>; kernel32.InitializeCriticalSection
0040118A   8BC0             MOV EAX,EAX
0040118C  -FF25 A8D04000    JMP DWORD PTR DS:[<&kernel32.EnterCritic>; ntdll.RtlEnterCriticalSection
00401192   8BC0             MOV EAX,EAX
00401194  -FF25 A4D04000    JMP DWORD PTR DS:[<&kernel32.LeaveCritic>; ntdll.RtlLeaveCriticalSection
0040119A   8BC0             MOV EAX,EAX
0040119C  -FF25 A0D04000    JMP DWORD PTR DS:[<&kernel32.DeleteCriti>; ntdll.RtlDeleteCriticalSection
004011A2   8BC0             MOV EAX,EAX
004011A4   53               PUSH EBX
004011A5   56               PUSH ESI
004011A6   BE DCC54000      MOV ESI,crackme3.0040C5DC
004011AB   833E 00          CMP DWORD PTR DS:[ESI],0
004011AE   75 3A            JNZ SHORT crackme3.004011EA
004011B0   68 44060000      PUSH 644
004011B5   6A 00            PUSH 0
004011B7   E8 A8FFFFFF      CALL <JMP.&kernel32.LocalAlloc>
004011BC   8BC8             MOV ECX,EAX
004011BE   85C9             TEST ECX,ECX
004011C0   75 05            JNZ SHORT crackme3.004011C7
004011C2   33C0             XOR EAX,EAX
004011C4   5E               POP ESI
004011C5   5B               POP EBX
004011C6   C3               RETN
004011C7   A1 D8C54000      MOV EAX,DWORD PTR DS:[40C5D8]
004011CC   8901             MOV DWORD PTR DS:[ECX],EAX
004011CE   890D D8C54000    MOV DWORD PTR DS:[40C5D8],ECX
004011D4   33D2             XOR EDX,EDX
004011D6   8BC2             /MOV EAX,EDX
004011D8   03C0             |ADD EAX,EAX
004011DA   8D44C1 04        |LEA EAX,DWORD PTR DS:[ECX+EAX*8+4]
004011DE   8B1E             |MOV EBX,DWORD PTR DS:[ESI]
004011E0   8918             |MOV DWORD PTR DS:[EAX],EBX
004011E2   8906             |MOV DWORD PTR DS:[ESI],EAX
004011E4   42               |INC EDX
004011E5   83FA 64          |CMP EDX,64
004011E8  ^75 EC            \JNZ SHORT crackme3.004011D6
004011EA   8B06             MOV EAX,DWORD PTR DS:[ESI]
004011EC   8B10             MOV EDX,DWORD PTR DS:[EAX]
004011EE   8916             MOV DWORD PTR DS:[ESI],EDX
004011F0   5E               POP ESI
004011F1   5B               POP EBX
004011F2   C3               RETN
004011F3   90               NOP
004011F4   8900             MOV DWORD PTR DS:[EAX],EAX
004011F6   8940 04          MOV DWORD PTR DS:[EAX+4],EAX
004011F9   C3               RETN
004011FA   8BC0             MOV EAX,EAX
004011FC   53               PUSH EBX
004011FD   56               PUSH ESI
004011FE   8BF2             MOV ESI,EDX
00401200   8BD8             MOV EBX,EAX
00401202   E8 9DFFFFFF      CALL crackme3.004011A4
00401207   85C0             TEST EAX,EAX
00401209   75 05            JNZ SHORT crackme3.00401210
0040120B   33C0             XOR EAX,EAX
0040120D   5E               POP ESI
0040120E   5B               POP EBX
0040120F   C3               RETN
00401210   8B16             MOV EDX,DWORD PTR DS:[ESI]
00401212   8950 08          MOV DWORD PTR DS:[EAX+8],EDX
00401215   8B56 04          MOV EDX,DWORD PTR DS:[ESI+4]
00401218   8950 0C          MOV DWORD PTR DS:[EAX+C],EDX
0040121B   8B13             MOV EDX,DWORD PTR DS:[EBX]
0040121D   8910             MOV DWORD PTR DS:[EAX],EDX
0040121F   8958 04          MOV DWORD PTR DS:[EAX+4],EBX
00401222   8942 04          MOV DWORD PTR DS:[EDX+4],EAX
00401225   8903             MOV DWORD PTR DS:[EBX],EAX
00401227   B0 01            MOV AL,1
00401229   5E               POP ESI
0040122A   5B               POP EBX
0040122B   C3               RETN
0040122C   8B50 04          MOV EDX,DWORD PTR DS:[EAX+4]
0040122F   8B08             MOV ECX,DWORD PTR DS:[EAX]
00401231   890A             MOV DWORD PTR DS:[EDX],ECX
00401233   8951 04          MOV DWORD PTR DS:[ECX+4],EDX
00401236   8B15 DCC54000    MOV EDX,DWORD PTR DS:[40C5DC]
0040123C   8910             MOV DWORD PTR DS:[EAX],EDX
0040123E   A3 DCC54000      MOV DWORD PTR DS:[40C5DC],EAX
00401243   C3               RETN
00401244   53               PUSH EBX
00401245   56               PUSH ESI
00401246   57               PUSH EDI
00401247   55               PUSH EBP
00401248   51               PUSH ECX
00401249   8BF1             MOV ESI,ECX
0040124B   891424           MOV DWORD PTR SS:[ESP],EDX
0040124E   8BE8             MOV EBP,EAX
00401250   8B5D 00          MOV EBX,DWORD PTR SS:[EBP]
00401253   8B0424           MOV EAX,DWORD PTR SS:[ESP]
00401256   8B10             MOV EDX,DWORD PTR DS:[EAX]
00401258   8916             MOV DWORD PTR DS:[ESI],EDX
0040125A   8B50 04          MOV EDX,DWORD PTR DS:[EAX+4]
0040125D   8956 04          MOV DWORD PTR DS:[ESI+4],EDX
00401260   8B3B             /MOV EDI,DWORD PTR DS:[EBX]
00401262   8B06             |MOV EAX,DWORD PTR DS:[ESI]
00401264   8B53 08          |MOV EDX,DWORD PTR DS:[EBX+8]
00401267   0353 0C          |ADD EDX,DWORD PTR DS:[EBX+C]
0040126A   3BC2             |CMP EAX,EDX
0040126C   75 14            |JNZ SHORT crackme3.00401282
0040126E   8BC3             |MOV EAX,EBX
00401270   E8 B7FFFFFF      |CALL crackme3.0040122C
00401275   8B43 08          |MOV EAX,DWORD PTR DS:[EBX+8]
00401278   8906             |MOV DWORD PTR DS:[ESI],EAX
0040127A   8B43 0C          |MOV EAX,DWORD PTR DS:[EBX+C]
0040127D   0146 04          |ADD DWORD PTR DS:[ESI+4],EAX
00401280   EB 15            |JMP SHORT crackme3.00401297
00401282   0346 04          |ADD EAX,DWORD PTR DS:[ESI+4]
00401285   3B43 08          |CMP EAX,DWORD PTR DS:[EBX+8]
00401288   75 0D            |JNZ SHORT crackme3.00401297
0040128A   8BC3             |MOV EAX,EBX
0040128C   E8 9BFFFFFF      |CALL crackme3.0040122C
00401291   8B43 0C          |MOV EAX,DWORD PTR DS:[EBX+C]
00401294   0146 04          |ADD DWORD PTR DS:[ESI+4],EAX
00401297   8BDF             |MOV EBX,EDI
00401299   3BEB             |CMP EBP,EBX
0040129B  ^75 C3            \JNZ SHORT crackme3.00401260
0040129D   8BD6             MOV EDX,ESI
0040129F   8BC5             MOV EAX,EBP
004012A1   E8 56FFFFFF      CALL crackme3.004011FC
004012A6   84C0             TEST AL,AL
004012A8   75 04            JNZ SHORT crackme3.004012AE
004012AA   33C0             XOR EAX,EAX
004012AC   8906             MOV DWORD PTR DS:[ESI],EAX
004012AE   5A               POP EDX
004012AF   5D               POP EBP
004012B0   5F               POP EDI
004012B1   5E               POP ESI
004012B2   5B               POP EBX
004012B3   C3               RETN
004012B4   53               PUSH EBX
004012B5   56               PUSH ESI
004012B6   57               PUSH EDI
004012B7   55               PUSH EBP
004012B8   83C4 F8          ADD ESP,-8
004012BB   8BD8             MOV EBX,EAX
004012BD   8BFB             MOV EDI,EBX
004012BF   8B32             /MOV ESI,DWORD PTR DS:[EDX]
004012C1   8B43 08          |MOV EAX,DWORD PTR DS:[EBX+8]
004012C4   3BF0             |CMP ESI,EAX
004012C6   72 70            |JB SHORT crackme3.00401338
004012C8   8BCE             |MOV ECX,ESI
004012CA   034A 04          |ADD ECX,DWORD PTR DS:[EDX+4]
004012CD   8BE8             |MOV EBP,EAX
004012CF   036B 0C          |ADD EBP,DWORD PTR DS:[EBX+C]
004012D2   3BCD             |CMP ECX,EBP
004012D4   77 62            |JA SHORT crackme3.00401338
004012D6   3BF0             |CMP ESI,EAX
004012D8   75 1B            |JNZ SHORT crackme3.004012F5
004012DA   8B42 04          |MOV EAX,DWORD PTR DS:[EDX+4]
004012DD   0143 08          |ADD DWORD PTR DS:[EBX+8],EAX
004012E0   8B42 04          |MOV EAX,DWORD PTR DS:[EDX+4]
004012E3   2943 0C          |SUB DWORD PTR DS:[EBX+C],EAX
004012E6   837B 0C 00       |CMP DWORD PTR DS:[EBX+C],0
004012EA   75 48            |JNZ SHORT crackme3.00401334
004012EC   8BC3             |MOV EAX,EBX
004012EE   E8 39FFFFFF      |CALL crackme3.0040122C
004012F3   EB 3F            |JMP SHORT crackme3.00401334
004012F5   8BCE             |MOV ECX,ESI
004012F7   8B7A 04          |MOV EDI,DWORD PTR DS:[EDX+4]
004012FA   03CF             |ADD ECX,EDI
004012FC   8BE8             |MOV EBP,EAX
004012FE   036B 0C          |ADD EBP,DWORD PTR DS:[EBX+C]
00401301   3BCD             |CMP ECX,EBP
00401303   75 05            |JNZ SHORT crackme3.0040130A
00401305   297B 0C          |SUB DWORD PTR DS:[EBX+C],EDI
00401308   EB 2A            |JMP SHORT crackme3.00401334
0040130A   8B0A             |MOV ECX,DWORD PTR DS:[EDX]
0040130C   034A 04          |ADD ECX,DWORD PTR DS:[EDX+4]
0040130F   890C24           |MOV DWORD PTR SS:[ESP],ECX
00401312   8B7B 08          |MOV EDI,DWORD PTR DS:[EBX+8]
00401315   037B 0C          |ADD EDI,DWORD PTR DS:[EBX+C]
00401318   2BF9             |SUB EDI,ECX
0040131A   897C24 04        |MOV DWORD PTR SS:[ESP+4],EDI
0040131E   2BF0             |SUB ESI,EAX
00401320   8973 0C          |MOV DWORD PTR DS:[EBX+C],ESI
00401323   8BD4             |MOV EDX,ESP
00401325   8BC3             |MOV EAX,EBX
00401327   E8 D0FEFFFF      |CALL crackme3.004011FC
0040132C   84C0             |TEST AL,AL
0040132E   75 04            |JNZ SHORT crackme3.00401334
00401330   33C0             |XOR EAX,EAX
00401332   EB 0C            |JMP SHORT crackme3.00401340
00401334   B0 01            |MOV AL,1
00401336   EB 08            |JMP SHORT crackme3.00401340
00401338   8B1B             |MOV EBX,DWORD PTR DS:[EBX]
0040133A   3BFB             |CMP EDI,EBX
0040133C  ^75 81            \JNZ SHORT crackme3.004012BF
0040133E   33C0             XOR EAX,EAX
00401340   59               POP ECX
00401341   5A               POP EDX
00401342   5D               POP EBP
00401343   5F               POP EDI
00401344   5E               POP ESI
00401345   5B               POP EBX
00401346   C3               RETN
00401347   90               NOP
00401348   53               PUSH EBX
00401349   56               PUSH ESI
0040134A   57               PUSH EDI
0040134B   8BDA             MOV EBX,EDX
0040134D   8BF0             MOV ESI,EAX
0040134F   81FE 00001000    CMP ESI,100000
00401355   7D 07            JGE SHORT crackme3.0040135E
00401357   BE 00001000      MOV ESI,100000
0040135C   EB 0C            JMP SHORT crackme3.0040136A
0040135E   81C6 FFFF0000    ADD ESI,0FFFF
00401364   81E6 0000FFFF    AND ESI,FFFF0000
0040136A   8973 04          MOV DWORD PTR DS:[EBX+4],ESI
0040136D   6A 01            PUSH 1
0040136F   68 00200000      PUSH 2000
00401374   56               PUSH ESI
00401375   6A 00            PUSH 0
00401377   E8 F8FDFFFF      CALL <JMP.&kernel32.VirtualAlloc>
0040137C   8BF8             MOV EDI,EAX
0040137E   893B             MOV DWORD PTR DS:[EBX],EDI
00401380   85FF             TEST EDI,EDI
00401382   74 23            JE SHORT crackme3.004013A7
00401384   8BD3             MOV EDX,EBX
00401386   B8 E0C54000      MOV EAX,crackme3.0040C5E0
0040138B   E8 6CFEFFFF      CALL crackme3.004011FC
00401390   84C0             TEST AL,AL
00401392   75 13            JNZ SHORT crackme3.004013A7
00401394   68 00800000      PUSH 8000
00401399   6A 00            PUSH 0
0040139B   8B03             MOV EAX,DWORD PTR DS:[EBX]
0040139D   50               PUSH EAX
0040139E   E8 D9FDFFFF      CALL <JMP.&kernel32.VirtualFree>
004013A3   33C0             XOR EAX,EAX
004013A5   8903             MOV DWORD PTR DS:[EBX],EAX
004013A7   5F               POP EDI
004013A8   5E               POP ESI
004013A9   5B               POP EBX
004013AA   C3               RETN
004013AB   90               NOP
004013AC   53               PUSH EBX
004013AD   56               PUSH ESI
004013AE   57               PUSH EDI
004013AF   55               PUSH EBP
004013B0   8BD9             MOV EBX,ECX
004013B2   8BF2             MOV ESI,EDX
004013B4   8BE8             MOV EBP,EAX
004013B6   C743 04 00001000 MOV DWORD PTR DS:[EBX+4],100000
004013BD   6A 04            PUSH 4
004013BF   68 00200000      PUSH 2000
004013C4   68 00001000      PUSH 100000
004013C9   55               PUSH EBP
004013CA   E8 A5FDFFFF      CALL <JMP.&kernel32.VirtualAlloc>
004013CF   8BF8             MOV EDI,EAX
004013D1   893B             MOV DWORD PTR DS:[EBX],EDI
004013D3   85FF             TEST EDI,EDI
004013D5   75 1F            JNZ SHORT crackme3.004013F6
004013D7   81C6 FFFF0000    ADD ESI,0FFFF
004013DD   81E6 0000FFFF    AND ESI,FFFF0000
004013E3   8973 04          MOV DWORD PTR DS:[EBX+4],ESI
004013E6   6A 04            PUSH 4
004013E8   68 00200000      PUSH 2000
004013ED   56               PUSH ESI
004013EE   55               PUSH EBP
004013EF   E8 80FDFFFF      CALL <JMP.&kernel32.VirtualAlloc>
004013F4   8903             MOV DWORD PTR DS:[EBX],EAX
004013F6   833B 00          CMP DWORD PTR DS:[EBX],0
004013F9   74 23            JE SHORT crackme3.0040141E
004013FB   8BD3             MOV EDX,EBX
004013FD   B8 E0C54000      MOV EAX,crackme3.0040C5E0
00401402   E8 F5FDFFFF      CALL crackme3.004011FC
00401407   84C0             TEST AL,AL
00401409   75 13            JNZ SHORT crackme3.0040141E
0040140B   68 00800000      PUSH 8000
00401410   6A 00            PUSH 0
00401412   8B03             MOV EAX,DWORD PTR DS:[EBX]
00401414   50               PUSH EAX
00401415   E8 62FDFFFF      CALL <JMP.&kernel32.VirtualFree>
0040141A   33C0             XOR EAX,EAX
0040141C   8903             MOV DWORD PTR DS:[EBX],EAX
0040141E   5D               POP EBP
0040141F   5F               POP EDI
00401420   5E               POP ESI
00401421   5B               POP EBX
00401422   C3               RETN
00401423   90               NOP
00401424   53               PUSH EBX
00401425   56               PUSH ESI
00401426   57               PUSH EDI
00401427   55               PUSH EBP
00401428   83C4 EC          ADD ESP,-14
0040142B   894C24 04        MOV DWORD PTR SS:[ESP+4],ECX
0040142F   891424           MOV DWORD PTR SS:[ESP],EDX
00401432   C74424 08 FFFFFF>MOV DWORD PTR SS:[ESP+8],-1
0040143A   33D2             XOR EDX,EDX
0040143C   895424 0C        MOV DWORD PTR SS:[ESP+C],EDX
00401440   8BE8             MOV EBP,EAX
00401442   8B0424           MOV EAX,DWORD PTR SS:[ESP]
00401445   03C5             ADD EAX,EBP
00401447   894424 10        MOV DWORD PTR SS:[ESP+10],EAX
0040144B   8B1D E0C54000    MOV EBX,DWORD PTR DS:[40C5E0]
00401451   EB 51            JMP SHORT crackme3.004014A4
00401453   8B3B             /MOV EDI,DWORD PTR DS:[EBX]
00401455   8B73 08          |MOV ESI,DWORD PTR DS:[EBX+8]
00401458   3BEE             |CMP EBP,ESI
0040145A   77 46            |JA SHORT crackme3.004014A2
0040145C   8BC6             |MOV EAX,ESI
0040145E   0343 0C          |ADD EAX,DWORD PTR DS:[EBX+C]
00401461   3B4424 10        |CMP EAX,DWORD PTR SS:[ESP+10]
00401465   77 3B            |JA SHORT crackme3.004014A2
00401467   3B7424 08        |CMP ESI,DWORD PTR SS:[ESP+8]
0040146B   73 04            |JNB SHORT crackme3.00401471
0040146D   897424 08        |MOV DWORD PTR SS:[ESP+8],ESI
00401471   8BC6             |MOV EAX,ESI
00401473   0343 0C          |ADD EAX,DWORD PTR DS:[EBX+C]
00401476   3B4424 0C        |CMP EAX,DWORD PTR SS:[ESP+C]
0040147A   76 04            |JBE SHORT crackme3.00401480
0040147C   894424 0C        |MOV DWORD PTR SS:[ESP+C],EAX
00401480   68 00800000      |PUSH 8000
00401485   6A 00            |PUSH 0
00401487   56               |PUSH ESI
00401488   E8 EFFCFFFF      |CALL <JMP.&kernel32.VirtualFree>
0040148D   85C0             |TEST EAX,EAX
0040148F   75 0A            |JNZ SHORT crackme3.0040149B
00401491   C705 BCC54000 01>|MOV DWORD PTR DS:[40C5BC],1
0040149B   8BC3             |MOV EAX,EBX
0040149D   E8 8AFDFFFF      |CALL crackme3.0040122C
004014A2   8BDF             |MOV EBX,EDI
004014A4   81FB E0C54000     CMP EBX,crackme3.0040C5E0
004014AA  ^75 A7            \JNZ SHORT crackme3.00401453
004014AC   8B4424 04        MOV EAX,DWORD PTR SS:[ESP+4]
004014B0   33D2             XOR EDX,EDX
004014B2   8910             MOV DWORD PTR DS:[EAX],EDX
004014B4   837C24 0C 00     CMP DWORD PTR SS:[ESP+C],0
004014B9   74 19            JE SHORT crackme3.004014D4
004014BB   8B4424 04        MOV EAX,DWORD PTR SS:[ESP+4]
004014BF   8B5424 08        MOV EDX,DWORD PTR SS:[ESP+8]
004014C3   8910             MOV DWORD PTR DS:[EAX],EDX
004014C5   8B4424 0C        MOV EAX,DWORD PTR SS:[ESP+C]
004014C9   2B4424 08        SUB EAX,DWORD PTR SS:[ESP+8]
004014CD   8B5424 04        MOV EDX,DWORD PTR SS:[ESP+4]
004014D1   8942 04          MOV DWORD PTR DS:[EDX+4],EAX
004014D4   83C4 14          ADD ESP,14
004014D7   5D               POP EBP
004014D8   5F               POP EDI
004014D9   5E               POP ESI
004014DA   5B               POP EBX
004014DB   C3               RETN
004014DC   53               PUSH EBX
004014DD   56               PUSH ESI
004014DE   57               PUSH EDI
004014DF   55               PUSH EBP
004014E0   83C4 F4          ADD ESP,-0C
004014E3   894C24 04        MOV DWORD PTR SS:[ESP+4],ECX
004014E7   891424           MOV DWORD PTR SS:[ESP],EDX
004014EA   8BD0             MOV EDX,EAX
004014EC   8BEA             MOV EBP,EDX
004014EE   81E5 00F0FFFF    AND EBP,FFFFF000
004014F4   031424           ADD EDX,DWORD PTR SS:[ESP]
004014F7   81C2 FF0F0000    ADD EDX,0FFF
004014FD   81E2 00F0FFFF    AND EDX,FFFFF000
00401503   895424 08        MOV DWORD PTR SS:[ESP+8],EDX
00401507   8B4424 04        MOV EAX,DWORD PTR SS:[ESP+4]
0040150B   8928             MOV DWORD PTR DS:[EAX],EBP
0040150D   8B4424 08        MOV EAX,DWORD PTR SS:[ESP+8]
00401511   2BC5             SUB EAX,EBP
00401513   8B5424 04        MOV EDX,DWORD PTR SS:[ESP+4]
00401517   8942 04          MOV DWORD PTR DS:[EDX+4],EAX
0040151A   8B35 E0C54000    MOV ESI,DWORD PTR DS:[40C5E0]
00401520   EB 3C            JMP SHORT crackme3.0040155E
00401522   8B5E 08          /MOV EBX,DWORD PTR DS:[ESI+8]
00401525   8B7E 0C          |MOV EDI,DWORD PTR DS:[ESI+C]
00401528   03FB             |ADD EDI,EBX
0040152A   3BEB             |CMP EBP,EBX
0040152C   76 02            |JBE SHORT crackme3.00401530
0040152E   8BDD             |MOV EBX,EBP
00401530   3B7C24 08        |CMP EDI,DWORD PTR SS:[ESP+8]
00401534   76 04            |JBE SHORT crackme3.0040153A
00401536   8B7C24 08        |MOV EDI,DWORD PTR SS:[ESP+8]
0040153A   3BFB             |CMP EDI,EBX
0040153C   76 1E            |JBE SHORT crackme3.0040155C
0040153E   6A 04            |PUSH 4
00401540   68 00100000      |PUSH 1000
00401545   2BFB             |SUB EDI,EBX
00401547   57               |PUSH EDI
00401548   53               |PUSH EBX
00401549   E8 26FCFFFF      |CALL <JMP.&kernel32.VirtualAlloc>
0040154E   85C0             |TEST EAX,EAX
00401550   75 0A            |JNZ SHORT crackme3.0040155C
00401552   8B4424 04        |MOV EAX,DWORD PTR SS:[ESP+4]
00401556   33D2             |XOR EDX,EDX
00401558   8910             |MOV DWORD PTR DS:[EAX],EDX
0040155A   EB 0A            |JMP SHORT crackme3.00401566
0040155C   8B36             |MOV ESI,DWORD PTR DS:[ESI]
0040155E   81FE E0C54000     CMP ESI,crackme3.0040C5E0
00401564  ^75 BC            \JNZ SHORT crackme3.00401522
00401566   83C4 0C          ADD ESP,0C
00401569   5D               POP EBP
0040156A   5F               POP EDI
0040156B   5E               POP ESI
0040156C   5B               POP EBX
0040156D   C3               RETN
0040156E   8BC0             MOV EAX,EAX
00401570   53               PUSH EBX
00401571   56               PUSH ESI
00401572   57               PUSH EDI
00401573   55               PUSH EBP
00401574   51               PUSH ECX
00401575   8BD8             MOV EBX,EAX
00401577   8BF3             MOV ESI,EBX
00401579   81C6 FF0F0000    ADD ESI,0FFF
0040157F   81E6 00F0FFFF    AND ESI,FFFFF000
00401585   893424           MOV DWORD PTR SS:[ESP],ESI
00401588   8BEB             MOV EBP,EBX
0040158A   03EA             ADD EBP,EDX
0040158C   81E5 00F0FFFF    AND EBP,FFFFF000
00401592   8B0424           MOV EAX,DWORD PTR SS:[ESP]
00401595   8901             MOV DWORD PTR DS:[ECX],EAX
00401597   8BC5             MOV EAX,EBP
00401599   2B0424           SUB EAX,DWORD PTR SS:[ESP]
0040159C   8941 04          MOV DWORD PTR DS:[ECX+4],EAX
0040159F   8B35 E0C54000    MOV ESI,DWORD PTR DS:[40C5E0]
004015A5   EB 38            JMP SHORT crackme3.004015DF
004015A7   8B5E 08          /MOV EBX,DWORD PTR DS:[ESI+8]
004015AA   8B7E 0C          |MOV EDI,DWORD PTR DS:[ESI+C]
004015AD   03FB             |ADD EDI,EBX
004015AF   3B1C24           |CMP EBX,DWORD PTR SS:[ESP]
004015B2   73 03            |JNB SHORT crackme3.004015B7
004015B4   8B1C24           |MOV EBX,DWORD PTR SS:[ESP]
004015B7   3BEF             |CMP EBP,EDI
004015B9   73 02            |JNB SHORT crackme3.004015BD
004015BB   8BFD             |MOV EDI,EBP
004015BD   3BFB             |CMP EDI,EBX
004015BF   76 1C            |JBE SHORT crackme3.004015DD
004015C1   68 00400000      |PUSH 4000
004015C6   2BFB             |SUB EDI,EBX
004015C8   57               |PUSH EDI
004015C9   53               |PUSH EBX
004015CA   E8 ADFBFFFF      |CALL <JMP.&kernel32.VirtualFree>
004015CF   85C0             |TEST EAX,EAX
004015D1   75 0A            |JNZ SHORT crackme3.004015DD
004015D3   C705 BCC54000 02>|MOV DWORD PTR DS:[40C5BC],2
004015DD   8B36             |MOV ESI,DWORD PTR DS:[ESI]
004015DF   81FE E0C54000     CMP ESI,crackme3.0040C5E0
004015E5  ^75 C0            \JNZ SHORT crackme3.004015A7
004015E7   5A               POP EDX
004015E8   5D               POP EBP
004015E9   5F               POP EDI
004015EA   5E               POP ESI
004015EB   5B               POP EBX
004015EC   C3               RETN
004015ED   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
004015F0   53               PUSH EBX
004015F1   56               PUSH ESI
004015F2   57               PUSH EDI
004015F3   55               PUSH EBP
004015F4   83C4 F8          ADD ESP,-8
004015F7   8BF2             MOV ESI,EDX
004015F9   8BF8             MOV EDI,EAX
004015FB   BD F0C54000      MOV EBP,crackme3.0040C5F0
00401600   81C7 FF3F0000    ADD EDI,3FFF
00401606   81E7 00C0FFFF    AND EDI,FFFFC000
0040160C   8B5D 00          /MOV EBX,DWORD PTR SS:[EBP]
0040160F   EB 33            |JMP SHORT crackme3.00401644
00401611   3B7B 0C          |/CMP EDI,DWORD PTR DS:[EBX+C]
00401614   7F 2C            ||JG SHORT crackme3.00401642
00401616   8BCE             ||MOV ECX,ESI
00401618   8BD7             ||MOV EDX,EDI
0040161A   8B43 08          ||MOV EAX,DWORD PTR DS:[EBX+8]
0040161D   E8 BAFEFFFF      ||CALL crackme3.004014DC
00401622   833E 00          ||CMP DWORD PTR DS:[ESI],0
00401625   74 50            ||JE SHORT crackme3.00401677
00401627   8B46 04          ||MOV EAX,DWORD PTR DS:[ESI+4]
0040162A   0143 08          ||ADD DWORD PTR DS:[EBX+8],EAX
0040162D   8B46 04          ||MOV EAX,DWORD PTR DS:[ESI+4]
00401630   2943 0C          ||SUB DWORD PTR DS:[EBX+C],EAX
00401633   837B 0C 00       ||CMP DWORD PTR DS:[EBX+C],0
00401637   75 3E            ||JNZ SHORT crackme3.00401677
00401639   8BC3             ||MOV EAX,EBX
0040163B   E8 ECFBFFFF      ||CALL crackme3.0040122C
00401640   EB 35            ||JMP SHORT crackme3.00401677
00401642   8B1B             ||MOV EBX,DWORD PTR DS:[EBX]
00401644   3BDD             | CMP EBX,EBP
00401646  ^75 C9            |\JNZ SHORT crackme3.00401611
00401648   8BD6             |MOV EDX,ESI
0040164A   8BC7             |MOV EAX,EDI
0040164C   E8 F7FCFFFF      |CALL crackme3.00401348
00401651   833E 00          |CMP DWORD PTR DS:[ESI],0
00401654   74 21            |JE SHORT crackme3.00401677
00401656   8BCC             |MOV ECX,ESP
00401658   8BD6             |MOV EDX,ESI
0040165A   8BC5             |MOV EAX,EBP
0040165C   E8 E3FBFFFF      |CALL crackme3.00401244
00401661   833C24 00        |CMP DWORD PTR SS:[ESP],0
00401665  ^75 A5            \JNZ SHORT crackme3.0040160C
00401667   8BCC             MOV ECX,ESP
00401669   8B56 04          MOV EDX,DWORD PTR DS:[ESI+4]
0040166C   8B06             MOV EAX,DWORD PTR DS:[ESI]
0040166E   E8 B1FDFFFF      CALL crackme3.00401424
00401673   33C0             XOR EAX,EAX
00401675   8906             MOV DWORD PTR DS:[ESI],EAX
00401677   59               POP ECX
00401678   5A               POP EDX
00401679   5D               POP EBP
0040167A   5F               POP EDI
0040167B   5E               POP ESI
0040167C   5B               POP EBX
0040167D   C3               RETN
0040167E   8BC0             MOV EAX,EAX
00401680   53               PUSH EBX
00401681   56               PUSH ESI
00401682   57               PUSH EDI
00401683   55               PUSH EBP
00401684   83C4 EC          ADD ESP,-14
00401687   890C24           MOV DWORD PTR SS:[ESP],ECX
0040168A   8BFA             MOV EDI,EDX
0040168C   8BF0             MOV ESI,EAX
0040168E   BD F0C54000      MOV EBP,crackme3.0040C5F0
00401693   81C7 FF3F0000    ADD EDI,3FFF
00401699   81E7 00C0FFFF    AND EDI,FFFFC000
0040169F   8B5D 00          /MOV EBX,DWORD PTR SS:[EBP]
004016A2   EB 02            |JMP SHORT crackme3.004016A6
004016A4   8B1B             |/MOV EBX,DWORD PTR DS:[EBX]
004016A6   3BDD             | CMP EBX,EBP
004016A8   74 05            ||JE SHORT crackme3.004016AF
004016AA   3B73 08          ||CMP ESI,DWORD PTR DS:[EBX+8]
004016AD  ^75 F5            |\JNZ SHORT crackme3.004016A4
004016AF   3B73 08          |CMP ESI,DWORD PTR DS:[EBX+8]
004016B2   75 57            |JNZ SHORT crackme3.0040170B
004016B4   3B7B 0C          |CMP EDI,DWORD PTR DS:[EBX+C]
004016B7   0F8E 96000000    |JLE crackme3.00401753
004016BD   8D4C24 04        |LEA ECX,DWORD PTR SS:[ESP+4]
004016C1   8BD7             |MOV EDX,EDI
004016C3   2B53 0C          |SUB EDX,DWORD PTR DS:[EBX+C]
004016C6   8B43 08          |MOV EAX,DWORD PTR DS:[EBX+8]
004016C9   0343 0C          |ADD EAX,DWORD PTR DS:[EBX+C]
004016CC   E8 DBFCFFFF      |CALL crackme3.004013AC
004016D1   837C24 04 00     |CMP DWORD PTR SS:[ESP+4],0
004016D6   74 33            |JE SHORT crackme3.0040170B
004016D8   8D4C24 0C        |LEA ECX,DWORD PTR SS:[ESP+C]
004016DC   8D5424 04        |LEA EDX,DWORD PTR SS:[ESP+4]
004016E0   8BC5             |MOV EAX,EBP
004016E2   E8 5DFBFFFF      |CALL crackme3.00401244
004016E7   837C24 0C 00     |CMP DWORD PTR SS:[ESP+C],0
004016EC  ^75 B1            |JNZ SHORT crackme3.0040169F
004016EE   8D4C24 0C        |LEA ECX,DWORD PTR SS:[ESP+C]
004016F2   8B5424 08        |MOV EDX,DWORD PTR SS:[ESP+8]
004016F6   8B4424 04        |MOV EAX,DWORD PTR SS:[ESP+4]
004016FA   E8 25FDFFFF      |CALL crackme3.00401424
004016FF   8B0424           |MOV EAX,DWORD PTR SS:[ESP]
00401702   33D2             |XOR EDX,EDX
00401704   8910             |MOV DWORD PTR DS:[EAX],EDX
00401706   E9 90000000      |JMP crackme3.0040179B
0040170B   8D4C24 04        |LEA ECX,DWORD PTR SS:[ESP+4]
0040170F   8BD7             |MOV EDX,EDI
00401711   8BC6             |MOV EAX,ESI
00401713   E8 94FCFFFF      |CALL crackme3.004013AC
00401718   837C24 04 00     |CMP DWORD PTR SS:[ESP+4],0
0040171D   74 34            |JE SHORT crackme3.00401753
0040171F   8D4C24 0C        |LEA ECX,DWORD PTR SS:[ESP+C]
00401723   8D5424 04        |LEA EDX,DWORD PTR SS:[ESP+4]
00401727   8BC5             |MOV EAX,EBP
00401729   E8 16FBFFFF      |CALL crackme3.00401244
0040172E   837C24 0C 00     |CMP DWORD PTR SS:[ESP+C],0
00401733  ^0F85 66FFFFFF    \JNZ crackme3.0040169F
00401739   8D4C24 0C        LEA ECX,DWORD PTR SS:[ESP+C]
0040173D   8B5424 08        MOV EDX,DWORD PTR SS:[ESP+8]
00401741   8B4424 04        MOV EAX,DWORD PTR SS:[ESP+4]
00401745   E8 DAFCFFFF      CALL crackme3.00401424
0040174A   8B0424           MOV EAX,DWORD PTR SS:[ESP]
0040174D   33D2             XOR EDX,EDX
0040174F   8910             MOV DWORD PTR DS:[EAX],EDX
00401751   EB 48            JMP SHORT crackme3.0040179B
00401753   8B6B 08          MOV EBP,DWORD PTR DS:[EBX+8]
00401756   3BF5             CMP ESI,EBP
00401758   75 3A            JNZ SHORT crackme3.00401794
0040175A   3B7B 0C          CMP EDI,DWORD PTR DS:[EBX+C]
0040175D   7F 35            JG SHORT crackme3.00401794
0040175F   8B0C24           MOV ECX,DWORD PTR SS:[ESP]
00401762   8BD7             MOV EDX,EDI
00401764   8BC5             MOV EAX,EBP
00401766   E8 71FDFFFF      CALL crackme3.004014DC
0040176B   8B0424           MOV EAX,DWORD PTR SS:[ESP]
0040176E   8338 00          CMP DWORD PTR DS:[EAX],0
00401771   74 28            JE SHORT crackme3.0040179B
00401773   8B0424           MOV EAX,DWORD PTR SS:[ESP]
00401776   8B40 04          MOV EAX,DWORD PTR DS:[EAX+4]
00401779   0143 08          ADD DWORD PTR DS:[EBX+8],EAX
0040177C   8B0424           MOV EAX,DWORD PTR SS:[ESP]
0040177F   8B40 04          MOV EAX,DWORD PTR DS:[EAX+4]
00401782   2943 0C          SUB DWORD PTR DS:[EBX+C],EAX
00401785   837B 0C 00       CMP DWORD PTR DS:[EBX+C],0
00401789   75 10            JNZ SHORT crackme3.0040179B
0040178B   8BC3             MOV EAX,EBX
0040178D   E8 9AFAFFFF      CALL crackme3.0040122C
00401792   EB 07            JMP SHORT crackme3.0040179B
00401794   8B0424           MOV EAX,DWORD PTR SS:[ESP]
00401797   33D2             XOR EDX,EDX
00401799   8910             MOV DWORD PTR DS:[EAX],EDX
0040179B   83C4 14          ADD ESP,14
0040179E   5D               POP EBP
0040179F   5F               POP EDI
004017A0   5E               POP ESI
004017A1   5B               POP EBX
004017A2   C3               RETN
004017A3   90               NOP
004017A4   53               PUSH EBX
004017A5   56               PUSH ESI
004017A6   57               PUSH EDI
004017A7   83C4 EC          ADD ESP,-14
004017AA   8BF9             MOV EDI,ECX
004017AC   891424           MOV DWORD PTR SS:[ESP],EDX
004017AF   8D98 FF3F0000    LEA EBX,DWORD PTR DS:[EAX+3FFF]
004017B5   81E3 00C0FFFF    AND EBX,FFFFC000
004017BB   8B3424           MOV ESI,DWORD PTR SS:[ESP]
004017BE   03F0             ADD ESI,EAX
004017C0   81E6 00C0FFFF    AND ESI,FFFFC000
004017C6   3BDE             CMP EBX,ESI
004017C8   73 5B            JNB SHORT crackme3.00401825
004017CA   8BCF             MOV ECX,EDI
004017CC   8BD6             MOV EDX,ESI
004017CE   2BD3             SUB EDX,EBX
004017D0   8BC3             MOV EAX,EBX
004017D2   E8 99FDFFFF      CALL crackme3.00401570
004017D7   8D4C24 04        LEA ECX,DWORD PTR SS:[ESP+4]
004017DB   8BD7             MOV EDX,EDI
004017DD   B8 F0C54000      MOV EAX,crackme3.0040C5F0
004017E2   E8 5DFAFFFF      CALL crackme3.00401244
004017E7   8B5C24 04        MOV EBX,DWORD PTR SS:[ESP+4]
004017EB   85DB             TEST EBX,EBX
004017ED   74 1F            JE SHORT crackme3.0040180E
004017EF   8D4C24 0C        LEA ECX,DWORD PTR SS:[ESP+C]
004017F3   8B5424 08        MOV EDX,DWORD PTR SS:[ESP+8]
004017F7   8BC3             MOV EAX,EBX
004017F9   E8 26FCFFFF      CALL crackme3.00401424
004017FE   8B4424 0C        MOV EAX,DWORD PTR SS:[ESP+C]
00401802   894424 04        MOV DWORD PTR SS:[ESP+4],EAX
00401806   8B4424 10        MOV EAX,DWORD PTR SS:[ESP+10]
0040180A   894424 08        MOV DWORD PTR SS:[ESP+8],EAX
0040180E   837C24 04 00     CMP DWORD PTR SS:[ESP+4],0
00401813   74 14            JE SHORT crackme3.00401829
00401815   8D5424 04        LEA EDX,DWORD PTR SS:[ESP+4]
00401819   B8 F0C54000      MOV EAX,crackme3.0040C5F0
0040181E   E8 91FAFFFF      CALL crackme3.004012B4
00401823   EB 04            JMP SHORT crackme3.00401829
00401825   33C0             XOR EAX,EAX
00401827   8907             MOV DWORD PTR DS:[EDI],EAX
00401829   83C4 14          ADD ESP,14
0040182C   5F               POP EDI
0040182D   5E               POP ESI
0040182E   5B               POP EBX
0040182F   C3               RETN
00401830   55               PUSH EBP
00401831   8BEC             MOV EBP,ESP
00401833   33D2             XOR EDX,EDX
00401835   55               PUSH EBP
00401836   68 E6184000      PUSH crackme3.004018E6
0040183B   64:FF32          PUSH DWORD PTR FS:[EDX]
0040183E   64:8922          MOV DWORD PTR FS:[EDX],ESP
00401841   68 C0C54000      PUSH crackme3.0040C5C0
00401846   E8 39F9FFFF      CALL <JMP.&kernel32.InitializeCriticalSe>
0040184B   803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
00401852   74 0A            JE SHORT crackme3.0040185E
00401854   68 C0C54000      PUSH crackme3.0040C5C0
00401859   E8 2EF9FFFF      CALL <JMP.&kernel32.EnterCriticalSection>
0040185E   B8 E0C54000      MOV EAX,crackme3.0040C5E0
00401863   E8 8CF9FFFF      CALL crackme3.004011F4
00401868   B8 F0C54000      MOV EAX,crackme3.0040C5F0
0040186D   E8 82F9FFFF      CALL crackme3.004011F4
00401872   B8 1CC64000      MOV EAX,crackme3.0040C61C
00401877   E8 78F9FFFF      CALL crackme3.004011F4
0040187C   68 F80F0000      PUSH 0FF8
00401881   6A 00            PUSH 0
00401883   E8 DCF8FFFF      CALL <JMP.&kernel32.LocalAlloc>
00401888   A3 18C64000      MOV DWORD PTR DS:[40C618],EAX
0040188D   833D 18C64000 00 CMP DWORD PTR DS:[40C618],0
00401894   74 2F            JE SHORT crackme3.004018C5
00401896   B8 03000000      MOV EAX,3
0040189B   8B15 18C64000    MOV EDX,DWORD PTR DS:[40C618]
004018A1   33C9             XOR ECX,ECX
004018A3   894C82 F4        MOV DWORD PTR DS:[EDX+EAX*4-C],ECX
004018A7   40               INC EAX
004018A8   3D 01040000      CMP EAX,401
004018AD  ^75 EC            JNZ SHORT crackme3.0040189B
004018AF   B8 00C64000      MOV EAX,crackme3.0040C600
004018B4   8940 04          MOV DWORD PTR DS:[EAX+4],EAX
004018B7   8900             MOV DWORD PTR DS:[EAX],EAX
004018B9   A3 0CC64000      MOV DWORD PTR DS:[40C60C],EAX
004018BE   C605 B8C54000 01 MOV BYTE PTR DS:[40C5B8],1
004018C5   33C0             XOR EAX,EAX
004018C7   5A               POP EDX
004018C8   59               POP ECX
004018C9   59               POP ECX
004018CA   64:8910          MOV DWORD PTR FS:[EAX],EDX
004018CD   68 ED184000      PUSH crackme3.004018ED
004018D2   803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
004018D9   74 0A            JE SHORT crackme3.004018E5
004018DB   68 C0C54000      PUSH crackme3.0040C5C0
004018E0   E8 AFF8FFFF      CALL <JMP.&kernel32.LeaveCriticalSection>
004018E5   C3               RETN                                     ; RET used as a jump to 004018ED
004018E6   E9 2D190000      JMP crackme3.00403218
004018EB  ^EB E5            JMP SHORT crackme3.004018D2
004018ED   A0 B8C54000      MOV AL,BYTE PTR DS:[40C5B8]
004018F2   5D               POP EBP
004018F3   C3               RETN
004018F4   55               PUSH EBP
004018F5   8BEC             MOV EBP,ESP
004018F7   53               PUSH EBX
004018F8   803D B8C54000 00 CMP BYTE PTR DS:[40C5B8],0
004018FF   0F84 CC000000    JE crackme3.004019D1
00401905   33D2             XOR EDX,EDX
00401907   55               PUSH EBP
00401908   68 CA194000      PUSH crackme3.004019CA
0040190D   64:FF32          PUSH DWORD PTR FS:[EDX]
00401910   64:8922          MOV DWORD PTR FS:[EDX],ESP
00401913   803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
0040191A   74 0A            JE SHORT crackme3.00401926
0040191C   68 C0C54000      PUSH crackme3.0040C5C0
00401921   E8 66F8FFFF      CALL <JMP.&kernel32.EnterCriticalSection>
00401926   C605 B8C54000 00 MOV BYTE PTR DS:[40C5B8],0
0040192D   A1 18C64000      MOV EAX,DWORD PTR DS:[40C618]
00401932   50               PUSH EAX
00401933   E8 34F8FFFF      CALL <JMP.&kernel32.LocalFree>
00401938   33C0             XOR EAX,EAX
0040193A   A3 18C64000      MOV DWORD PTR DS:[40C618],EAX
0040193F   8B1D E0C54000    MOV EBX,DWORD PTR DS:[40C5E0]
00401945   EB 12            JMP SHORT crackme3.00401959
00401947   68 00800000      PUSH 8000
0040194C   6A 00            PUSH 0
0040194E   8B43 08          MOV EAX,DWORD PTR DS:[EBX+8]
00401951   50               PUSH EAX
00401952   E8 25F8FFFF      CALL <JMP.&kernel32.VirtualFree>
00401957   8B1B             MOV EBX,DWORD PTR DS:[EBX]
00401959   81FB E0C54000    CMP EBX,crackme3.0040C5E0
0040195F  ^75 E6            JNZ SHORT crackme3.00401947
00401961   B8 E0C54000      MOV EAX,crackme3.0040C5E0
00401966   E8 89F8FFFF      CALL crackme3.004011F4
0040196B   B8 F0C54000      MOV EAX,crackme3.0040C5F0
00401970   E8 7FF8FFFF      CALL crackme3.004011F4
00401975   B8 1CC64000      MOV EAX,crackme3.0040C61C
0040197A   E8 75F8FFFF      CALL crackme3.004011F4
0040197F   A1 D8C54000      MOV EAX,DWORD PTR DS:[40C5D8]
00401984   85C0             TEST EAX,EAX
00401986   74 17            JE SHORT crackme3.0040199F
00401988   8B10             MOV EDX,DWORD PTR DS:[EAX]
0040198A   8915 D8C54000    MOV DWORD PTR DS:[40C5D8],EDX
00401990   50               PUSH EAX
00401991   E8 D6F7FFFF      CALL <JMP.&kernel32.LocalFree>
00401996   A1 D8C54000      MOV EAX,DWORD PTR DS:[40C5D8]
0040199B   85C0             TEST EAX,EAX
0040199D  ^75 E9            JNZ SHORT crackme3.00401988
0040199F   33C0             XOR EAX,EAX
004019A1   5A               POP EDX
004019A2   59               POP ECX
004019A3   59               POP ECX
004019A4   64:8910          MOV DWORD PTR FS:[EAX],EDX
004019A7   68 D1194000      PUSH crackme3.004019D1
004019AC   803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
004019B3   74 0A            JE SHORT crackme3.004019BF
004019B5   68 C0C54000      PUSH crackme3.0040C5C0
004019BA   E8 D5F7FFFF      CALL <JMP.&kernel32.LeaveCriticalSection>
004019BF   68 C0C54000      PUSH crackme3.0040C5C0
004019C4   E8 D3F7FFFF      CALL <JMP.&kernel32.DeleteCriticalSectio>
004019C9   C3               RETN
004019CA   E9 49180000      JMP crackme3.00403218
004019CF  ^EB DB            JMP SHORT crackme3.004019AC
004019D1   5B               POP EBX
004019D2   5D               POP EBP
004019D3   C3               RETN
004019D4   53               PUSH EBX
004019D5   3B05 0CC64000    CMP EAX,DWORD PTR DS:[40C60C]
004019DB   75 09            JNZ SHORT crackme3.004019E6
004019DD   8B50 04          MOV EDX,DWORD PTR DS:[EAX+4]
004019E0   8915 0CC64000    MOV DWORD PTR DS:[40C60C],EDX
004019E6   8B50 04          MOV EDX,DWORD PTR DS:[EAX+4]
004019E9   8B48 08          MOV ECX,DWORD PTR DS:[EAX+8]
004019EC   81F9 00100000    CMP ECX,1000
004019F2   7F 38            JG SHORT crackme3.00401A2C
004019F4   3BC2             CMP EAX,EDX
004019F6   75 17            JNZ SHORT crackme3.00401A0F
004019F8   85C9             TEST ECX,ECX
004019FA   79 03            JNS SHORT crackme3.004019FF
004019FC   83C1 03          ADD ECX,3
004019FF   C1F9 02          SAR ECX,2
00401A02   A1 18C64000      MOV EAX,DWORD PTR DS:[40C618]
00401A07   33D2             XOR EDX,EDX
00401A09   895488 F4        MOV DWORD PTR DS:[EAX+ECX*4-C],EDX
00401A0D   EB 24            JMP SHORT crackme3.00401A33
00401A0F   85C9             TEST ECX,ECX
00401A11   79 03            JNS SHORT crackme3.00401A16
00401A13   83C1 03          ADD ECX,3
00401A16   C1F9 02          SAR ECX,2
00401A19   8B1D 18C64000    MOV EBX,DWORD PTR DS:[40C618]
00401A1F   89548B F4        MOV DWORD PTR DS:[EBX+ECX*4-C],EDX
00401A23   8B00             MOV EAX,DWORD PTR DS:[EAX]
00401A25   8902             MOV DWORD PTR DS:[EDX],EAX
00401A27   8950 04          MOV DWORD PTR DS:[EAX+4],EDX
00401A2A   5B               POP EBX
00401A2B   C3               RETN
00401A2C   8B00             MOV EAX,DWORD PTR DS:[EAX]
00401A2E   8902             MOV DWORD PTR DS:[EDX],EAX
00401A30   8950 04          MOV DWORD PTR DS:[EAX+4],EDX
00401A33   5B               POP EBX
00401A34   C3               RETN
00401A35   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401A38   8B15 1CC64000    MOV EDX,DWORD PTR DS:[40C61C]
00401A3E   EB 10            JMP SHORT crackme3.00401A50
00401A40   8B4A 08          /MOV ECX,DWORD PTR DS:[EDX+8]
00401A43   3BC1             |CMP EAX,ECX
00401A45   72 07            |JB SHORT crackme3.00401A4E
00401A47   034A 0C          |ADD ECX,DWORD PTR DS:[EDX+C]
00401A4A   3BC1             |CMP EAX,ECX
00401A4C   72 16            |JB SHORT crackme3.00401A64
00401A4E   8B12             |MOV EDX,DWORD PTR DS:[EDX]
00401A50   81FA 1CC64000     CMP EDX,crackme3.0040C61C
00401A56  ^75 E8            \JNZ SHORT crackme3.00401A40
00401A58   C705 BCC54000 03>MOV DWORD PTR DS:[40C5BC],3
00401A62   33D2             XOR EDX,EDX
00401A64   8BC2             MOV EAX,EDX
00401A66   C3               RETN
00401A67   90               NOP
00401A68   53               PUSH EBX
00401A69   8BCA             MOV ECX,EDX
00401A6B   83E9 04          SUB ECX,4
00401A6E   8D1C01           LEA EBX,DWORD PTR DS:[ECX+EAX]
00401A71   83FA 10          CMP EDX,10
00401A74   7C 0F            JL SHORT crackme3.00401A85
00401A76   C703 07000080    MOV DWORD PTR DS:[EBX],80000007
00401A7C   8BD1             MOV EDX,ECX
00401A7E   E8 B9010000      CALL crackme3.00401C3C
00401A83   5B               POP EBX
00401A84   C3               RETN
00401A85   83FA 04          CMP EDX,4
00401A88   7C 0C            JL SHORT crackme3.00401A96
00401A8A   8BCA             MOV ECX,EDX
00401A8C   81C9 02000080    OR ECX,80000002
00401A92   8908             MOV DWORD PTR DS:[EAX],ECX
00401A94   890B             MOV DWORD PTR DS:[EBX],ECX
00401A96   5B               POP EBX
00401A97   C3               RETN
00401A98   FF05 ACC54000    INC DWORD PTR DS:[40C5AC]
00401A9E   8BD0             MOV EDX,EAX
00401AA0   83EA 04          SUB EDX,4
00401AA3   8B12             MOV EDX,DWORD PTR DS:[EDX]
00401AA5   81E2 FCFFFF7F    AND EDX,7FFFFFFC
00401AAB   83EA 04          SUB EDX,4
00401AAE   0115 B0C54000    ADD DWORD PTR DS:[40C5B0],EDX
00401AB4   E8 F3050000      CALL crackme3.004020AC
00401AB9   C3               RETN
00401ABA   8BC0             MOV EAX,EAX
00401ABC   83FA 0C          CMP EDX,0C
00401ABF   7C 0E            JL SHORT crackme3.00401ACF
00401AC1   83CA 02          OR EDX,2
00401AC4   8910             MOV DWORD PTR DS:[EAX],EDX
00401AC6   83C0 04          ADD EAX,4
00401AC9   E8 CAFFFFFF      CALL crackme3.00401A98
00401ACE   C3               RETN
00401ACF   83FA 04          CMP EDX,4
00401AD2   7C 0A            JL SHORT crackme3.00401ADE
00401AD4   8BCA             MOV ECX,EDX
00401AD6   81C9 02000080    OR ECX,80000002
00401ADC   8908             MOV DWORD PTR DS:[EAX],ECX
00401ADE   03C2             ADD EAX,EDX
00401AE0   8320 FE          AND DWORD PTR DS:[EAX],FFFFFFFE
00401AE3   C3               RETN
00401AE4   53               PUSH EBX
00401AE5   56               PUSH ESI
00401AE6   8BD0             MOV EDX,EAX
00401AE8   83EA 04          SUB EDX,4
00401AEB   8B12             MOV EDX,DWORD PTR DS:[EDX]
00401AED   8BCA             MOV ECX,EDX
00401AEF   81E1 02000080    AND ECX,80000002
00401AF5   81F9 02000080    CMP ECX,80000002
00401AFB   74 0A            JE SHORT crackme3.00401B07
00401AFD   C705 BCC54000 04>MOV DWORD PTR DS:[40C5BC],4
00401B07   8BDA             MOV EBX,EDX
00401B09   81E3 FCFFFF7F    AND EBX,7FFFFFFC
00401B0F   2BC3             SUB EAX,EBX
00401B11   8BC8             MOV ECX,EAX
00401B13   3311             XOR EDX,DWORD PTR DS:[ECX]
00401B15   F7C2 FEFFFFFF    TEST EDX,FFFFFFFE
00401B1B   74 0A            JE SHORT crackme3.00401B27
00401B1D   C705 BCC54000 05>MOV DWORD PTR DS:[40C5BC],5
00401B27   F601 01          TEST BYTE PTR DS:[ECX],1
00401B2A   74 20            JE SHORT crackme3.00401B4C
00401B2C   8BD0             MOV EDX,EAX
00401B2E   83EA 0C          SUB EDX,0C
00401B31   8B72 08          MOV ESI,DWORD PTR DS:[EDX+8]
00401B34   2BC6             SUB EAX,ESI
00401B36   3B70 08          CMP ESI,DWORD PTR DS:[EAX+8]
00401B39   74 0A            JE SHORT crackme3.00401B45
00401B3B   C705 BCC54000 06>MOV DWORD PTR DS:[40C5BC],6
00401B45   E8 8AFEFFFF      CALL crackme3.004019D4
00401B4A   03DE             ADD EBX,ESI
00401B4C   8BC3             MOV EAX,EBX
00401B4E   5E               POP ESI
00401B4F   5B               POP EBX
00401B50   C3               RETN
00401B51   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401B54   53               PUSH EBX
00401B55   56               PUSH ESI
00401B56   57               PUSH EDI
00401B57   8BD8             MOV EBX,EAX
00401B59   33FF             XOR EDI,EDI
00401B5B   8B03             MOV EAX,DWORD PTR DS:[EBX]
00401B5D   A9 00000080      TEST EAX,80000000
00401B62   74 0B            JE SHORT crackme3.00401B6F
00401B64   25 FCFFFF7F      AND EAX,7FFFFFFC
00401B69   03F8             ADD EDI,EAX
00401B6B   03D8             ADD EBX,EAX
00401B6D   8B03             MOV EAX,DWORD PTR DS:[EBX]
00401B6F   A8 02            TEST AL,2
00401B71   75 13            JNZ SHORT crackme3.00401B86
00401B73   8BF3             MOV ESI,EBX
00401B75   8BC6             MOV EAX,ESI
00401B77   E8 58FEFFFF      CALL crackme3.004019D4
00401B7C   8B46 08          MOV EAX,DWORD PTR DS:[ESI+8]
00401B7F   03F8             ADD EDI,EAX
00401B81   03D8             ADD EBX,EAX
00401B83   8323 FE          AND DWORD PTR DS:[EBX],FFFFFFFE
00401B86   8BC7             MOV EAX,EDI
00401B88   5F               POP EDI
00401B89   5E               POP ESI
00401B8A   5B               POP EBX
00401B8B   C3               RETN
00401B8C   53               PUSH EBX
00401B8D   56               PUSH ESI
00401B8E   57               PUSH EDI
00401B8F   55               PUSH EBP
00401B90   83C4 F4          ADD ESP,-0C
00401B93   8BFA             MOV EDI,EDX
00401B95   8BF0             MOV ESI,EAX
00401B97   C60424 00        MOV BYTE PTR SS:[ESP],0
00401B9B   8BC6             MOV EAX,ESI
00401B9D   E8 96FEFFFF      CALL crackme3.00401A38
00401BA2   8BD8             MOV EBX,EAX
00401BA4   85DB             TEST EBX,EBX
00401BA6   0F84 82000000    JE crackme3.00401C2E
00401BAC   8B6B 08          MOV EBP,DWORD PTR DS:[EBX+8]
00401BAF   8BC5             MOV EAX,EBP
00401BB1   0343 0C          ADD EAX,DWORD PTR DS:[EBX+C]
00401BB4   8BD0             MOV EDX,EAX
00401BB6   8D0C37           LEA ECX,DWORD PTR DS:[EDI+ESI]
00401BB9   2BD1             SUB EDX,ECX
00401BBB   83FA 0C          CMP EDX,0C
00401BBE   7F 04            JG SHORT crackme3.00401BC4
00401BC0   8BF8             MOV EDI,EAX
00401BC2   2BFE             SUB EDI,ESI
00401BC4   8BC6             MOV EAX,ESI
00401BC6   2BC5             SUB EAX,EBP
00401BC8   83F8 0C          CMP EAX,0C
00401BCB   7D 14            JGE SHORT crackme3.00401BE1
00401BCD   8D4C24 01        LEA ECX,DWORD PTR SS:[ESP+1]
00401BD1   8BD6             MOV EDX,ESI
00401BD3   2B53 08          SUB EDX,DWORD PTR DS:[EBX+8]
00401BD6   03D7             ADD EDX,EDI
00401BD8   8BC5             MOV EAX,EBP
00401BDA   E8 C5FBFFFF      CALL crackme3.004017A4
00401BDF   EB 11            JMP SHORT crackme3.00401BF2
00401BE1   8D4C24 01        LEA ECX,DWORD PTR SS:[ESP+1]
00401BE5   8BD7             MOV EDX,EDI
00401BE7   83EA 04          SUB EDX,4
00401BEA   8D46 04          LEA EAX,DWORD PTR DS:[ESI+4]
00401BED   E8 B2FBFFFF      CALL crackme3.004017A4
00401BF2   8B6C24 01        MOV EBP,DWORD PTR SS:[ESP+1]
00401BF6   85ED             TEST EBP,EBP
00401BF8   74 34            JE SHORT crackme3.00401C2E
00401BFA   8BD5             MOV EDX,EBP
00401BFC   2BD6             SUB EDX,ESI
00401BFE   8BC6             MOV EAX,ESI
00401C00   E8 63FEFFFF      CALL crackme3.00401A68
00401C05   8BC5             MOV EAX,EBP
00401C07   034424 05        ADD EAX,DWORD PTR SS:[ESP+5]
00401C0B   8B53 08          MOV EDX,DWORD PTR DS:[EBX+8]
00401C0E   0353 0C          ADD EDX,DWORD PTR DS:[EBX+C]
00401C11   3BC2             CMP EAX,EDX
00401C13   73 0A            JNB SHORT crackme3.00401C1F
00401C15   8D1437           LEA EDX,DWORD PTR DS:[EDI+ESI]
00401C18   2BD0             SUB EDX,EAX
00401C1A   E8 9DFEFFFF      CALL crackme3.00401ABC
00401C1F   8D5424 01        LEA EDX,DWORD PTR SS:[ESP+1]
00401C23   8BC3             MOV EAX,EBX
00401C25   E8 8AF6FFFF      CALL crackme3.004012B4
00401C2A   C60424 01        MOV BYTE PTR SS:[ESP],1
00401C2E   8A0424           MOV AL,BYTE PTR SS:[ESP]
00401C31   83C4 0C          ADD ESP,0C
00401C34   5D               POP EBP
00401C35   5F               POP EDI
00401C36   5E               POP ESI
00401C37   5B               POP EBX
00401C38   C3               RETN
00401C39   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401C3C   53               PUSH EBX
00401C3D   56               PUSH ESI
00401C3E   57               PUSH EDI
00401C3F   8BF2             MOV ESI,EDX
00401C41   8BF8             MOV EDI,EAX
00401C43   8BDF             MOV EBX,EDI
00401C45   8973 08          MOV DWORD PTR DS:[EBX+8],ESI
00401C48   8BC3             MOV EAX,EBX
00401C4A   03C6             ADD EAX,ESI
00401C4C   83E8 0C          SUB EAX,0C
00401C4F   8970 08          MOV DWORD PTR DS:[EAX+8],ESI
00401C52   81FE 00100000    CMP ESI,1000
00401C58   7F 37            JG SHORT crackme3.00401C91
00401C5A   8BD6             MOV EDX,ESI
00401C5C   85D2             TEST EDX,EDX
00401C5E   79 03            JNS SHORT crackme3.00401C63
00401C60   83C2 03          ADD EDX,3
00401C63   C1FA 02          SAR EDX,2
00401C66   A1 18C64000      MOV EAX,DWORD PTR DS:[40C618]
00401C6B   8B4490 F4        MOV EAX,DWORD PTR DS:[EAX+EDX*4-C]
00401C6F   85C0             TEST EAX,EAX
00401C71   75 10            JNZ SHORT crackme3.00401C83
00401C73   A1 18C64000      MOV EAX,DWORD PTR DS:[40C618]
00401C78   895C90 F4        MOV DWORD PTR DS:[EAX+EDX*4-C],EBX
00401C7C   895B 04          MOV DWORD PTR DS:[EBX+4],EBX
00401C7F   891B             MOV DWORD PTR DS:[EBX],EBX
00401C81   EB 3A            JMP SHORT crackme3.00401CBD
00401C83   8B10             MOV EDX,DWORD PTR DS:[EAX]
00401C85   8943 04          MOV DWORD PTR DS:[EBX+4],EAX
00401C88   8913             MOV DWORD PTR DS:[EBX],EDX
00401C8A   8918             MOV DWORD PTR DS:[EAX],EBX
00401C8C   895A 04          MOV DWORD PTR DS:[EDX+4],EBX
00401C8F   EB 2C            JMP SHORT crackme3.00401CBD
00401C91   81FE 003C0000    CMP ESI,3C00
00401C97   7C 0D            JL SHORT crackme3.00401CA6
00401C99   8BD6             MOV EDX,ESI
00401C9B   8BC7             MOV EAX,EDI
00401C9D   E8 EAFEFFFF      CALL crackme3.00401B8C
00401CA2   84C0             TEST AL,AL
00401CA4   75 17            JNZ SHORT crackme3.00401CBD
00401CA6   A1 0CC64000      MOV EAX,DWORD PTR DS:[40C60C]
00401CAB   891D 0CC64000    MOV DWORD PTR DS:[40C60C],EBX
00401CB1   8B10             MOV EDX,DWORD PTR DS:[EAX]
00401CB3   8943 04          MOV DWORD PTR DS:[EBX+4],EAX
00401CB6   8913             MOV DWORD PTR DS:[EBX],EDX
00401CB8   8918             MOV DWORD PTR DS:[EAX],EBX
00401CBA   895A 04          MOV DWORD PTR DS:[EDX+4],EBX
00401CBD   5F               POP EDI
00401CBE   5E               POP ESI
00401CBF   5B               POP EBX
00401CC0   C3               RETN
00401CC1   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401CC4   833D 10C64000 00 CMP DWORD PTR DS:[40C610],0
00401CCB   7E 40            JLE SHORT crackme3.00401D0D
00401CCD   833D 10C64000 0C CMP DWORD PTR DS:[40C610],0C
00401CD4   7D 0C            JGE SHORT crackme3.00401CE2
00401CD6   C705 BCC54000 07>MOV DWORD PTR DS:[40C5BC],7
00401CE0   EB 2B            JMP SHORT crackme3.00401D0D
00401CE2   A1 10C64000      MOV EAX,DWORD PTR DS:[40C610]
00401CE7   83C8 02          OR EAX,2
00401CEA   8B15 14C64000    MOV EDX,DWORD PTR DS:[40C614]
00401CF0   8902             MOV DWORD PTR DS:[EDX],EAX
00401CF2   A1 14C64000      MOV EAX,DWORD PTR DS:[40C614]
00401CF7   83C0 04          ADD EAX,4
00401CFA   E8 99FDFFFF      CALL crackme3.00401A98
00401CFF   33C0             XOR EAX,EAX
00401D01   A3 14C64000      MOV DWORD PTR DS:[40C614],EAX
00401D06   33C0             XOR EAX,EAX
00401D08   A3 10C64000      MOV DWORD PTR DS:[40C610],EAX
00401D0D   C3               RETN
00401D0E   8BC0             MOV EAX,EAX
00401D10   53               PUSH EBX
00401D11   56               PUSH ESI
00401D12   57               PUSH EDI
00401D13   83C4 F0          ADD ESP,-10
00401D16   8BF0             MOV ESI,EAX
00401D18   8D3C24           LEA EDI,DWORD PTR SS:[ESP]
00401D1B   A5               MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
00401D1C   A5               MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
00401D1D   8BFC             MOV EDI,ESP
00401D1F   E8 A0FFFFFF      CALL crackme3.00401CC4
00401D24   8D4C24 08        LEA ECX,DWORD PTR SS:[ESP+8]
00401D28   8BD7             MOV EDX,EDI
00401D2A   B8 1CC64000      MOV EAX,crackme3.0040C61C
00401D2F   E8 10F5FFFF      CALL crackme3.00401244
00401D34   8B5C24 08        MOV EBX,DWORD PTR SS:[ESP+8]
00401D38   85DB             TEST EBX,EBX
00401D3A   75 04            JNZ SHORT crackme3.00401D40
00401D3C   33C0             XOR EAX,EAX
00401D3E   EB 52            JMP SHORT crackme3.00401D92
00401D40   8B07             MOV EAX,DWORD PTR DS:[EDI]
00401D42   3BD8             CMP EBX,EAX
00401D44   73 0A            JNB SHORT crackme3.00401D50
00401D46   E8 99FDFFFF      CALL crackme3.00401AE4
00401D4B   2907             SUB DWORD PTR DS:[EDI],EAX
00401D4D   0147 04          ADD DWORD PTR DS:[EDI+4],EAX
00401D50   8B07             MOV EAX,DWORD PTR DS:[EDI]
00401D52   0347 04          ADD EAX,DWORD PTR DS:[EDI+4]
00401D55   8BF3             MOV ESI,EBX
00401D57   037424 0C        ADD ESI,DWORD PTR SS:[ESP+C]
00401D5B   3BC6             CMP EAX,ESI
00401D5D   73 08            JNB SHORT crackme3.00401D67
00401D5F   E8 F0FDFFFF      CALL crackme3.00401B54
00401D64   0147 04          ADD DWORD PTR DS:[EDI+4],EAX
00401D67   8B07             MOV EAX,DWORD PTR DS:[EDI]
00401D69   0347 04          ADD EAX,DWORD PTR DS:[EDI+4]
00401D6C   3BF0             CMP ESI,EAX
00401D6E   75 11            JNZ SHORT crackme3.00401D81
00401D70   83E8 04          SUB EAX,4
00401D73   BA 04000000      MOV EDX,4
00401D78   E8 EBFCFFFF      CALL crackme3.00401A68
00401D7D   836F 04 04       SUB DWORD PTR DS:[EDI+4],4
00401D81   8B07             MOV EAX,DWORD PTR DS:[EDI]
00401D83   A3 14C64000      MOV DWORD PTR DS:[40C614],EAX
00401D88   8B47 04          MOV EAX,DWORD PTR DS:[EDI+4]
00401D8B   A3 10C64000      MOV DWORD PTR DS:[40C610],EAX
00401D90   B0 01            MOV AL,1
00401D92   83C4 10          ADD ESP,10
00401D95   5F               POP EDI
00401D96   5E               POP ESI
00401D97   5B               POP EBX
00401D98   C3               RETN
00401D99   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401D9C   53               PUSH EBX
00401D9D   83C4 F8          ADD ESP,-8
00401DA0   8BD8             MOV EBX,EAX
00401DA2   8BD4             MOV EDX,ESP
00401DA4   8D43 04          LEA EAX,DWORD PTR DS:[EBX+4]
00401DA7   E8 44F8FFFF      CALL crackme3.004015F0
00401DAC   833C24 00        CMP DWORD PTR SS:[ESP],0
00401DB0   74 0B            JE SHORT crackme3.00401DBD
00401DB2   8BC4             MOV EAX,ESP
00401DB4   E8 57FFFFFF      CALL crackme3.00401D10
00401DB9   84C0             TEST AL,AL
00401DBB   75 04            JNZ SHORT crackme3.00401DC1
00401DBD   33C0             XOR EAX,EAX
00401DBF   EB 02            JMP SHORT crackme3.00401DC3
00401DC1   B0 01            MOV AL,1
00401DC3   59               POP ECX
00401DC4   5A               POP EDX
00401DC5   5B               POP EBX
00401DC6   C3               RETN
00401DC7   90               NOP
00401DC8   53               PUSH EBX
00401DC9   56               PUSH ESI
00401DCA   83C4 F8          ADD ESP,-8
00401DCD   8BF2             MOV ESI,EDX
00401DCF   8BD8             MOV EBX,EAX
00401DD1   8BCC             MOV ECX,ESP
00401DD3   8D56 04          LEA EDX,DWORD PTR DS:[ESI+4]
00401DD6   8BC3             MOV EAX,EBX
00401DD8   E8 A3F8FFFF      CALL crackme3.00401680
00401DDD   833C24 00        CMP DWORD PTR SS:[ESP],0
00401DE1   74 0B            JE SHORT crackme3.00401DEE
00401DE3   8BC4             MOV EAX,ESP
00401DE5   E8 26FFFFFF      CALL crackme3.00401D10
00401DEA   84C0             TEST AL,AL
00401DEC   75 04            JNZ SHORT crackme3.00401DF2
00401DEE   33C0             XOR EAX,EAX
00401DF0   EB 02            JMP SHORT crackme3.00401DF4
00401DF2   B0 01            MOV AL,1
00401DF4   59               POP ECX
00401DF5   5A               POP EDX
00401DF6   5E               POP ESI
00401DF7   5B               POP EBX
00401DF8   C3               RETN
00401DF9   8D40 00          LEA EAX,DWORD PTR DS:[EAX]
00401DFC   33D2             XOR EDX,EDX
00401DFE   85C0             TEST EAX,EAX
00401E00   79 03            JNS SHORT crackme3.00401E05
00401E02   83C0 03          ADD EAX,3
00401E05   C1F8 02          SAR EAX,2
00401E08   3D 00040000      CMP EAX,400
00401E0D   7F 16            JG SHORT crackme3.00401E25
00401E0F   8B15 18C64000    /MOV EDX,DWORD PTR DS:[40C618]
00401E15   8B5482 F4        |MOV EDX,DWORD PTR DS:[EDX+EAX*4-C]
00401E19   85D2             |TEST EDX,EDX
00401E1B   75 08            |JNZ SHORT crackme3.00401E25
00401E1D   40               |INC EAX
00401E1E   3D 01040000      |CMP EAX,401
00401E23  ^75 EA            \JNZ SHORT crackme3.00401E0F
00401E25   8BC2             MOV EAX,EDX
00401E27   C3               RETN
00401E28   53               PUSH EBX
00401E29   56               PUSH ESI
00401E2A   57               PUSH EDI
00401E2B   55               PUSH EBP
00401E2C   8BF0             MOV ESI,EAX
00401E2E   BF 0CC64000      MOV EDI,crackme3.0040C60C
00401E33   BD 10C64000      MOV EBP,crackme3.0040C610
00401E38   8B1D 04C64000    /MOV EBX,DWORD PTR DS:[40C604]
00401E3E   3B73 08          |CMP ESI,DWORD PTR DS:[EBX+8]
00401E41   0F8E 84000000    |JLE crackme3.00401ECB
00401E47   8B1F             |MOV EBX,DWORD PTR DS:[EDI]
00401E49   8B43 08          |MOV EAX,DWORD PTR DS:[EBX+8]
00401E4C   3BF0             |CMP ESI,EAX
00401E4E   7E 7B            |JLE SHORT crackme3.00401ECB
00401E50   8973 08          |MOV DWORD PTR DS:[EBX+8],ESI
00401E53   8B5B 04          |/MOV EBX,DWORD PTR DS:[EBX+4]
00401E56   3B73 08          ||CMP ESI,DWORD PTR DS:[EBX+8]
00401E59  ^7F F8            |\JG SHORT crackme3.00401E53
00401E5B   8B17             |MOV EDX,DWORD PTR DS:[EDI]
00401E5D   8942 08          |MOV DWORD PTR DS:[EDX+8],EAX
00401E60   3B1F             |CMP EBX,DWORD PTR DS:[EDI]
00401E62   74 04            |JE SHORT crackme3.00401E68
00401E64   891F             |MOV DWORD PTR DS:[EDI],EBX
00401E66   EB 63            |JMP SHORT crackme3.00401ECB
00401E68   81FE 00100000    |CMP ESI,1000
00401E6E   7F 0D            |JG SHORT crackme3.00401E7D
00401E70   8BC6             |MOV EAX,ESI
00401E72   E8 85FFFFFF      |CALL crackme3.00401DFC
00401E77   8BD8             |MOV EBX,EAX
00401E79   85DB             |TEST EBX,EBX
00401E7B   75 4E            |JNZ SHORT crackme3.00401ECB
00401E7D   8BC6             |MOV EAX,ESI
00401E7F   E8 18FFFFFF      |CALL crackme3.00401D9C
00401E84   84C0             |TEST AL,AL
00401E86   75 07            |JNZ SHORT crackme3.00401E8F
00401E88   33C0             |XOR EAX,EAX
00401E8A   E9 88000000      |JMP crackme3.00401F17
00401E8F   3B75 00          |CMP ESI,DWORD PTR SS:[EBP]
00401E92  ^7F A4            \JG SHORT crackme3.00401E38
00401E94   2975 00          SUB DWORD PTR SS:[EBP],ESI
00401E97   837D 00 0C       CMP DWORD PTR SS:[EBP],0C
00401E9B   7D 08            JGE SHORT crackme3.00401EA5
00401E9D   0375 00          ADD ESI,DWORD PTR SS:[EBP]
00401EA0   33C0             XOR EAX,EAX
00401EA2   8945 00          MOV DWORD PTR SS:[EBP],EAX
00401EA5   A1 14C64000      MOV EAX,DWORD PTR DS:[40C614]
00401EAA   0135 14C64000    ADD DWORD PTR DS:[40C614],ESI
00401EB0   8BD6             MOV EDX,ESI
00401EB2   83CA 02          OR EDX,2
00401EB5   8910             MOV DWORD PTR DS:[EAX],EDX
00401EB7   83C0 04          ADD EAX,4
00401EBA   FF05 ACC54000    INC DWORD PTR DS:[40C5AC]
00401EC0   83EE 04          SUB ESI,4
00401EC3   0135 B0C54000    ADD DWORD PTR DS:[40C5B0],ESI
00401EC9   EB 4C            JMP SHORT crackme3.00401F17
00401ECB   8BC3             MOV EAX,EBX
00401ECD   E8 02FBFFFF      CALL crackme3.004019D4
00401ED2   8B53 08          MOV EDX,DWORD PTR DS:[EBX+8]
00401ED5   8BC2             MOV EAX,EDX
00401ED7   2BC6             SUB EAX,ESI
00401ED9   83F8 0C          CMP EAX,0C
00401EDC   7C 0C            JL SHORT crackme3.00401EEA
00401EDE   8BD3             MOV EDX,EBX
00401EE0   03D6             ADD EDX,ESI
00401EE2   92               XCHG EAX,EDX
00401EE3   E8 54FDFFFF      CALL crackme3.00401C3C
00401EE8   EB 12            JMP SHORT crackme3.00401EFC
00401EEA   8BF2             MOV ESI,EDX
00401EEC   3B1F             CMP EBX,DWORD PTR DS:[EDI]
00401EEE   75 05            JNZ SHORT crackme3.00401EF5
00401EF0   8B43 04          MOV EAX,DWORD PTR DS:[EBX+4]
00401EF3   8907             MOV DWORD PTR DS:[EDI],EAX
00401EF5   8BC3             MOV EAX,EBX
00401EF7   03C6             ADD EAX,ESI
00401EF9   8320 FE          AND DWORD PTR DS:[EAX],FFFFFFFE
00401EFC   8BC3             MOV EAX,EBX
00401EFE   8BD6             MOV EDX,ESI
00401F00   83CA 02          OR EDX,2
00401F03   8910             MOV DWORD PTR DS:[EAX],EDX
00401F05   83C0 04          ADD EAX,4
00401F08   FF05 ACC54000    INC DWORD PTR DS:[40C5AC]
00401F0E   83EE 04          SUB ESI,4
00401F11   0135 B0C54000    ADD DWORD PTR DS:[40C5B0],ESI
00401F17   5D               POP EBP
00401F18   5F               POP EDI
00401F19   5E               POP ESI
00401F1A   5B               POP EBX
00401F1B   C3               RETN
00401F1C   55               PUSH EBP
00401F1D   8BEC             MOV EBP,ESP
00401F1F   83C4 F8          ADD ESP,-8
00401F22   53               PUSH EBX
00401F23   56               PUSH ESI
00401F24   57               PUSH EDI
00401F25   8BD8             MOV EBX,EAX
00401F27   803D B8C54000 00 CMP BYTE PTR DS:[40C5B8],0
00401F2E   75 09            JNZ SHORT crackme3.00401F39
00401F30   E8 FBF8FFFF      CALL crackme3.00401830
00401F35   84C0             TEST AL,AL
00401F37   74 08            JE SHORT crackme3.00401F41
00401F39   81FB F8FFFF7F    CMP EBX,7FFFFFF8
00401F3F   7E 0A            JLE SHORT crackme3.00401F4B
00401F41   33C0             XOR EAX,EAX
00401F43   8945 FC          MOV DWORD PTR SS:[EBP-4],EAX
00401F46   E9 54010000      JMP crackme3.0040209F
00401F4B   33C9             XOR ECX,ECX
00401F4D   55               PUSH EBP
00401F4E   68 98204000      PUSH crackme3.00402098
00401F53   64:FF31          PUSH DWORD PTR FS:[ECX]
00401F56   64:8921          MOV DWORD PTR FS:[ECX],ESP
00401F59   803D 45C04000 00 CMP BYTE PTR DS:[40C045],0
00401F60   74 0A            JE SHORT crackme3.00401F6C
00401F62   68 C0C54000      PUSH crackme3.0040C5C0
00401F67   E8 20F2FFFF      CALL <JMP.&kernel32.EnterCriticalSection>
00401F6C   83C3 07          ADD EBX,7
00401F6F   83E3 FC          AND EBX,FFFFFFFC
00401F72   83FB 0C          CMP EBX,0C
00401F75   7D 05            JGE SHORT crackme3.00401F7C
00401F77   BB 0C000000      MOV EBX,0C
00401F7C   81FB 00100000    CMP EBX,1000
00401F82   0F8F 93000000    JG crackme3.0040201B
00401F88   8BC3             MOV EAX,EBX
00401F8A   85C0             TEST EAX,EAX
00401F8C   79 03            JNS SHORT crackme3.00401F91
00401F8E   83C0 03          ADD EAX,3
00401F91   C1F8 02          SAR EAX,2
00401F94   8B15 18C64000    MOV EDX,DWORD PTR DS:[40C618]


saludo erde
 

SUID:root

Member of Honour
Das Teil ist mit EZsecure protected.
EZsecure ist eine Delphi-Komponente zum Schutz von Anwendungen.

Da geht noch mehr, aber ich wollte es nicht übertreiben, deshalb "nur" CRC-Check und Encryption .
Stimmt die Checksumme nicht mehr, wird die Anwendung geschlossen. Kleiner Schutz gegen Patches zzgl der Encryption.

Im Grunde musst du es erst Entpacken und dann weitermachen.... :D

root
 

Sebastian_1

gesperrt
Frage!!

könntest du mir irgendwie den Quellcode für die Crackmees geben weil
ich anfänger bin aber nicht von die du gemacht hast sondern die ohne
einer fixen zahl bitte wenn geht danke!!
lg SEbastian!!
 

ivegotmail

Member of Honour
Original von SUID:root
Verrätst du auch noch die Lösung?
Wie hast du es geschafft?
so denn hier der lösungsweg:

lösung für crackme2:

- datei mit ollydbg laden
- rechtsklick -> search for -> all referenced text strings
dort sieht man eine liste mit den strings, u.a. die beiden "Hey, gut gemacht! :)" und "Sorry, das war nix!".
mit einem doppelklick auf "Hey, gut gemacht! :)" gelangt an die entsprechende stelle, wo der entscheidende vergleich gemacht wird.
um zu gucken was hier passiert, einfach mal ca. 20 zeilen/befehle davor einen breakpoint setzen (F2).
- im crackme "test" eingeben und button klicken.
beim gesetzten breakpoint springt ollydbg an und ab da gehen wir dann schrittweise (F8) durchs programm und gucken was passiert.
man sieht (siehe bild im anhang) das bei jedem schleifendurchlauf ein zeichen der test-eingabe verändert wird (XOR 1B).
wie im screenshot zu erkennen ist nach 2 durchläufen aus dem text "test" -> "o~st" geworden.
nachdem alle zeichen verändert wurden, wird dieser neue string mit "xbyti|" verglichen.
- ich habe mir dann ein programm geschrieben, welches das ganze genau anders herum macht, also "xbyti|" zeichenweise mit 1B XOR'ed und mir somit das gesuchte wort ausgibt:
Code:
#include <iostream.h>

int main()
{
	char* text = "xbyti|";
	for(int i=0; i<6; i++)
		cout << (char)(text[i] ^ 0x1B);

	return 0;
}
ausgabe: cyborg


lösung für crackme3 (EZsecure protected)

- datei mit ollydbg laden
- F9 (Run) drücken -> man sieht dass das programm sofort beendet wird
- Debug->Restart: mit F8 durchs programm gehen und die stelle finden an der beendet wird:
Code:
0040A1FE  |. 74 05          JE SHORT crackme3.0040A205
- bei den nächsten restarts dann jeweils an dieser stelle das JE (jump equal) in ein JNE (jump not equal) ändern (auf die zeile doppelklicken und den text JE zu JNE ändern).
- wenn man das programm schrittweise durchgeht, sieht man verscheidene pfadangaben (zb C:/ oder C:/WINNT/) und zum teil zufällige dateinamen.
- man öffnet diesen ordner und lässt das programm weiterlaufen.
es wird dann in diesem ordner eine datei "___1.tmp" erstellt und dann entpackt. die entpackte datei hat dann den namen EZ~S????.tmp, wobei das fragezeichen jeweils ein zufälliges zeichen ist.
in dieser datei versteckt sich das richtige programm.
- .tmp in .exe umbennen
diese lässt sich zwar nicht starten aber trotzdem mit ollydbg untersuchen.
- der rest ist dann vom prinzip her, genau wie bei crackme2
 

SUID:root

Member of Honour
Hallo ivegotmail. Ein Mann, ein Wort. :)

Vielen Dank für die ausführliche Info. Das mit dem Temp-file finde ich ja recht interessant. War mir nicht bekannt.

Hast du das File mittels "attach" aus dem Speicher geladen oder von der HDD?
Eigentlich hätte das File encrypted sein müssen und du hättest nicht an der richtigen Stelle rauskommen dürfen (String-Reference) bzw hätten die Strings eigentlich gar nicht sichtbar sein sollen.

Lauffähig ist die Exe vermutlich nicht wegen dem integrierten CRC-Check. Dieser sollte eigentlich auch die Exe beenden im Falle von bösen Patchern ;)

Mir stellen sich jetzt noch zwei weitere Fragen, die du aber nicht beantworten kannst.

1.) Was wäre, wenn ich zur CRC/Crypt-Option auch noch von EZsecure packen lasse

und

2.) die Option "disable" statt "close" verwende.

Alles in allem macht EZsecure bis jetzt keinen so tollen Eindruck.

Habe es einfach mal runtergeladen und eingesetzt um eine weitere Hürde zu schaffen. War aber nicht wirklich der Hit.

Ich werde heute abend das CM 3 überarbeiten und beide oben genannten Funktionen aktivieren. Rein aus Neugier. Neues PW setze ich natürlich auch.

Also wer will (insbensondere ivegotmail natürlich), kann sich ja nochmal dran versuchen.

Werde den Lösungsweg mal nachempfinden.


Grüsse

root
 

ivegotmail

Member of Honour
Original von SUID:root
Hast du das File mittels "attach" aus dem Speicher geladen oder von der HDD?
von der HDD.

Original von SUID:root
Eigentlich hätte das File encrypted sein müssen und du hättest nicht an der richtigen Stelle rauskommen dürfen (String-Reference) bzw hätten die Strings eigentlich gar nicht sichtbar sein sollen.
ja die strings sind auch nur in der entpackten exe zu sehen (EZ~S????.tmp).
in der normalen crackme3.exe ist davon nichts zu finden.
 

+++ATH0

Member of Honour
Hmpff, naja hab jetz nich wirklich den Nerv dazu.

Ich probiers morgen nochma...
Mal sehn wie ivegotmail da rangeht :)

Im Übrigen, Ist es nicht viel spannender einen eigenen Schutz zu bauen als vorgefertigte zu benutzen?

Vielleicht schreib ich auch nochmal 2 Crackme's. Ein einfaches und einen mit Schmackes :D
 

SUID:root

Member of Honour
Jo. Irgendwie auch logisch, wenn sich so ein bescheidenes temp-File entpackt.
Habe da aber gestern nicht weiter drüber nachgedacht.

Bisher war ich es gewöhnt, geschützte Files entweder zu dumpen oder direkt mittels ATTACH im Speicher zu analysieren.

Die disable-Funktion ist auch für die Füße.

Aber gehe ich recht in der Annahme, dass du es schwerer gehabt hättest, wenn ich nicht ein ungeschütztes CM2 vorgeschoben hätte?

Habe mal deine Schritte verfolgt und man findet im CM2 die Stelle für den BP sehr einfach aufgrund der String-Referenz.
Bei CM3+4 war es ja die gleiche Stelle, also konntest du im nicht lauffähigen, entpackten Programm die gleiche Stelle sehr leicht finden und den Ascii-String (gexort) auslesen.

Hättest du CM2 nicht als Anhaltspunkt gehabt, hättest du wohl mehr Probleme bekommen, da es ja schwerer ist, ein nicht lauffähiges Programm zu analysieren.

Oder liege ich da falsch?

Gruss

root


P.S.: Ich denk mir mal was Neues aus. ;)
 
E

Erde

Guest
Hi

Jetzt komme ich gar nicht mehr mit.
@ivegotmail, ich hab das so gemacht wie du es beschrieben hast.
 

SUID:root

Member of Honour
Hallo erde,

fang mal mit CM2 an.

Da kann man nicht viel falsch machen. Wenn du bei CM2 die Stelle gefunden hast, an der der Breakpoint gesetzt werden muss, bist du fast am Ziel.

Bei CM4 hast du das Problem, dass es nicht lauffähig ist, bzw. wie ich grad sehe, du noch das Original-File verwendest. Das ist verschlüsselt, da findest du keine interessanten Text-Strings.

Das CM2 ist ungeschützt, da findest du sofort die Strings.
Bei 4 findest du die erst im entpackten temp-File, welches aber nicht startet.

Falls noch was unklar ist, frag einfach.

Gruss

root
 

ivegotmail

Member of Honour
Original von SUID:root
Aber gehe ich recht in der Annahme, dass du es schwerer gehabt hättest, wenn ich nicht ein ungeschütztes CM2 vorgeschoben hätte?

Habe mal deine Schritte verfolgt und man findet im CM2 die Stelle für den BP sehr einfach aufgrund der String-Referenz.
Bei CM3+4 war es ja die gleiche Stelle, also konntest du im nicht lauffähigen, entpackten Programm die gleiche Stelle sehr leicht finden und den Ascii-String (gexort) auslesen.

Hättest du CM2 nicht als Anhaltspunkt gehabt, hättest du wohl mehr Probleme bekommen, da es ja schwerer ist, ein nicht lauffähiges Programm zu analysieren.

Oder liege ich da falsch?
nein, da liegst du vollkommen richtig. ;)
ohne crackme2 wäre crackme3 schwieriger gewesen.
 
E

Erde

Guest
Hi

Ich übe mich gerade in solchen Sachen, weil immer das selbe Posten bei denn anderen Foren, habe ich kein Bock mehr ;)

Mal sehen @SUID:root. ob ich damit klar komme. Ich frag dann wenn noch was unklar ist, Danke erst mal. :)

saludo erde
 
Oben