home *** CD-ROM | disk | FTP | other *** search
Wrap
Ok let`s begin first UNPACK the crackme with PROCDUMP or upx then run the crackme so you will know the "bad serial" message now the rest 1-) Faire un crack. (make a crack) toolz ----------- HIEW Windasm ----------- Ok open the file in windasm click on strn.ref mmm... "Bravo, vous " looks nice so click it then close the little window you are now here: * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:00401216(C) | * Possible Stringdate Ref from Code Obj ->"Bravo, vous " :0040122F 6852304000 push 00403052 ok so the jump at 00401216 jumps to "good code" press shift+f12 and enter 00401216 you will come here cmp eax, ecx jne 00401218 // he what`s this ? lea esi, dword ptr [0040320C] lea edi, dword ptr [00403161] repz cmpsb je 0040122f // <--- you will come here ok click on "jne 00401218" then jump.to and you will come here: * Possible Stringdate Ref from Code Obj ->"Le serial entr" :00401218 6873304000 push 00403073 remmeber "Le serial entr" ?, this is the "bad code" message so we need to: let "jne 00401218" never jump and "je 0040122f" always jump so exit windasm and open hiew press F4 and select DECODE press F5 (goto) and enter 806 (hex offset of "jne 00401218") press F3 now change 7510 into 7500 <-- always go down on line now goto 816 and change 7417 into EB17 <-- always jump to "good code" done ------------------------------------------------------------------------------------------------------------------------------------- 2-) Trouver un serial. (get a valid serial) toolz ----------- Soft-ice ----------- start up the crackme press CTRL+D or anthor soft-ice hotkey set a breakpoint on getdlgitemtexta (bpx getdlgitemtexta) enter: Psycho Arjani 888888 click OK soft-ice will break press F11 (return to prog that calls getdlgitemtexta) now you will see this: (use F10 to go with the code) 015F:004011A3 CALL USER32!GetDlgItemTextA 015F:004011A8 CMP EAX,00 //check if a lenght name <> 0 015F:004011AB JZ 00401274 015F:004011B1 CMP EAX,03 //check if the name is 3 chars or less, so your name must be at least 4 chars 015F:004011B4 JBE 0040125D 015F:004011BA CALL 004012B0 // ;) we ingnore this one ok (check the keygen part) 015F:004011BF PUSH EBX 015F:004011C0 PUSH 00403039 015F:004011C5 PUSH 0040320C 015F:004011CA CALL USER32!wsprintfA 015F:004011CF ADD ESP,0C 015F:004011D2 PUSH 32 015F:004011D4 PUSH 00403161 015F:004011D9 PUSH 00000BBB 015F:004011DE PUSH DWORD PTR [00403031] 015F:004011E4 CALL USER32!GetDlgItemTextA 015F:004011E9 CMP EAX,00 015F:004011EC JZ 00401246 015F:004011EE PUSH 0040320C 015F:004011F3 CALL KERNEL32!lstrlen 015F:004011F8 MOV ECX,EAX 015F:004011FA PUSH 00403161 015F:004011FF CALL KERNEL32!lstrlen 015F:00401204 CMP EAX,ECX //Check if length "our serial" = "real serial" 015F:00401206 JNZ 00401218 015F:00401208 LEA ESI,DWORD PTR [0040320C] //do a D 0040320C here and you will see the correct serial 015F:0040120E LEA EDI,DWORD PTR [00403161] //do a D 00403161 here and you will see our serail 015F:00401214 REPZ 015F:00401215 CMPSB 015F:00401216 JZ 0040122F //if real serial = our serial then jump done ;) (you could also (AFTER pressing F11) put at breakpoint on 00401216 (bpx 00401216 (you should know this address:)) ("BC *" (clear current breakpoints) first) ------------------------------------------------------------------------------------------------------------------------------------- 3-) Faire un keygen. (make a keygen) toolz ----------- Soft-ice optial: HIEW WINDASM ----------- remeber this: 015F:004011BA CALL 004012B0 it`s the call to produce the valid serial ;) so do the same as before but when your at the call press F8 now you will see this: 015F:004012AD RET 0010 015F:004012B0 PUSH ESI 015F:004012B1 PUSH EDI 015F:004012B2 XOR EDI,EDI //EDI = 0 015F:004012B4 MOV EBX,EAX //EBX = EAX (EAX = LENGHT NAME) 015F:004012B6 INC EDI //EDI = EDI + 1 (EDI = 1) 015F:004012B7 MOV ESI,EAX //ESI = EAX (EAX = LENGHT NAME) (LOOP here) 015F:004012B9 LEA EAX,[00403120] //EAX = NAME 015F:004012BF MOVZX EAX,BYTE PTR [EAX+EDI+01] //EAX = first chars - (EDI + 1) of your name (eg. your name is "Psycho Arjani" and EDI = 1 then EAX = "ycho Arjani", EDI = 2 then EAX = "cho Arjani" 015F:004012C4 AND EAX,000000FF 015F:004012C9 ADD EBX,0984DA1B //EBX + HEX(0984DA1B) 015F:004012CF ADD EBX,0479631C //EBX + HEX(0479631C) 015F:004012D5 ADD EBX,EAX //EBX + ascii code of the letter stored in EAX 015F:004012D7 ADD EBX,08971365 //EBX + HEX(08971365) 015F:004012DD ADD EBX,085D9C2B //EBX + HEX(085D9C2B) 015F:004012E3 INC EDI //EDI = EDI + 1 015F:004012E4 DEC ESI 015F:004012E5 JNZ 004012B9 //if ESI <> 0 then it returns to 015F:004012B9 simple ha now make a keygen !!! but if you don`t know how the make one READ ON ! open the file in windasm, click strn.ref, click "Le serial entr" you will see this: * Possible Stringdate Ref from Code Obj ->"Le serial entr" :00401218 6873304000 push 00403073 //text displayed :0040121D 68C10B0000 push 00000BC1 :00401222 FF3531304000 push DWORD PTR [00403031] :00401228 E8F9000000 CALL 00401326 //Calls "display message" :0040122D EB7B JMP 004012AA ok now look at this (it`s the serial check part) cmp eax, ecx jne 00401218 lea esi, dword ptr [0040320C] //contains the RIGHT serial lea edi, dword ptr [00403161] //contains the WRONG serial repz cmpsb je 0040122f //if serials are differnt than don`t jump ! ok so the right serial at "0040320C" is still there when it jumps to bad code, right ? (yes it does) open the crackme with HIEW, select DECODE, goto 818 (hex offset of "00401218") press F3 then press F2 (asm) change "push 00403073" into "push 0040320C" (in DECODE mode goto 00403073 than select HEX mode, you will see "Le serial entrΘ est incorrect !") now open the crackme and enter a wrong code and ... IT WORKS instead of "Le serial entrΘ est incorrect !" you will get "2455112272" (for the name "Psycho Arjani") ------------------------------------------------------------------------------------------------------------------------------- My rating: it`s a nice crackme for newbie`s who aren`t good with soft-ice rating 2 of the 10 toolz --------------------- get them all at www.protools.cjb.net --------------------- Psycho Arjani 2001