目的:属技术交流,无其它目的,请不要任意散布或用用商业用途。初学破解,如有不对的地方欢迎批评指出。 工具:ollydbg1.09C,fi301,dede3.2
软件下载地址http://www.8715.com
假设: 软件序列号码:424844352 登记注册码:87654321
一、使用dede查找核心模块:
使用dede打开程序,找到 speedbutton10click 在这里有注册信息,抄下第一句,为后面动态分析 004D1B04 55 push ebp
二、动态分析,了解注册过程
用ollydbg载入程序,在004D1B04下断,输入注册码,会断到这里
004D1B04 /. 55 PUSH EBP 004D1B05 |. 8BEC MOV EBP,ESP 004D1B07 |. 83C4 E0 ADD ESP,-20 004D1B0A |. 53 PUSH EBX 004D1B0B |. 33C9 XOR ECX,ECX 004D1B0D |. 894D E0 MOV DWORD PTR SS:[EBP-20],ECX 004D1B10 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX 004D1B13 |. 8BD8 MOV EBX,EAX 004D1B15 |. 33C0 XOR EAX,EAX 004D1B17 |. 55 PUSH EBP 004D1B18 |. 68 201C4D00 PUSH faxsky.004D1C20 004D1B1D |. 64:FF30 PUSH DWORD PTR FS:[EAX] 004D1B20 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 004D1B23 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 004D1B26 |. BA 341C4D00 MOV EDX,faxsky.004D1C34 ; ASCII "00000000" 004D1B2B |. E8 5C35F3FF CALL faxsky.0040508C 004D1B30 |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C] 004D1B33 |. BA 481C4D00 MOV EDX,faxsky.004D1C48 004D1B38 |. B8 681C4D00 MOV EAX,faxsky.004D1C68 004D1B3D |. E8 C2CEF6FF CALL faxsky.0043EA04 ; 取得输入的注册码 004D1B42 |. 3C 01 CMP AL,1 004D1B44 |. 0F85 B8000000 JNZ faxsky.004D1C02 ; 没输入则跳走 004D1B4A |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20] 004D1B4D |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 注册码 004D1B50 |. E8 837BF3FF CALL faxsky.004096D8 004D1B55 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] 004D1B58 |. E8 CB7EF3FF CALL faxsky.00409A28 ; 注册码转换为十六进制表示, eax=05397FB1 004D1B5D |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX ; 数05397FB1保存 004D1B60 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX 004D1B63 |. 6A 00 PUSH 0 004D1B65 |. 6A 42 PUSH 42 004D1B67 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 004D1B6A |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 004D1B6D |. E8 7A44F3FF CALL faxsky.00405FEC ; eax=05397FB1/42 004D1B72 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX ; eax保存 004D1B75 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX ; 余数保存 004D1B78 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 004D1B7B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 004D1B7E |. 2D 33590100 SUB EAX,15933 ; eax=eax-15933 004D1B83 |. 83DA 00 SBB EDX,0 ; sbb 004D1B86 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX ; 保存eax 004D1B89 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX ; 保存 004D1B8C |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 004D1B8F |. E8 2CE5FFFF CALL faxsky.004D00C0 ; 取cup日id,此为6b1 004D1B94 |. 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C] 004D1B97 |. 8BC1 MOV EAX,ECX 004D1B99 |. 99 CDQ 004D1B9A |. 3B55 FC CMP EDX,DWORD PTR SS:[EBP-4] ; 比较1,注册码必须被42(hex)整除 004D1B9D |. 75 4E JNZ SHORT faxsky.004D1BED 004D1B9F |. 3B45 F8 CMP EAX,DWORD PTR SS:[EBP-8] ; 比较2,与cupid比较 004D1BA2 |. 75 49 JNZ SHORT faxsky.004D1BED 004D1BA4 |. 33D2 XOR EDX,EDX 004D1BA6 |. 8B83 88030000 MOV EAX,DWORD PTR DS:[EBX+388] 004D1BAC |. 8B08 MOV ECX,DWORD PTR DS:[EAX] 004D1BAE |. FF51 64 CALL DWORD PTR DS:[ECX+64] 004D1BB1 |. B2 01 MOV DL,1 004D1BB3 |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308] 004D1BB9 |. 8B08 MOV ECX,DWORD PTR DS:[EAX] 004D1BBB |. FF51 64 CALL DWORD PTR DS:[ECX+64] 004D1BBE |. 33D2 XOR EDX,EDX 004D1BC0 |. 8B83 94030000 MOV EAX,DWORD PTR DS:[EBX+394] 004D1BC6 |. E8 9939F7FF CALL faxsky.00445564 004D1BCB |. 8B83 B0030000 MOV EAX,DWORD PTR DS:[EBX+3B0] 004D1BD1 |. E8 E2F3FEFF CALL faxsky.004C0FB8 004D1BD6 |. 6A 00 PUSH 0 ; /Arg1 = 00000000 004D1BD8 |. 66:8B0D 741C4>MOV CX,WORD PTR DS:[4D1C74] ; | 004D1BDF |. B2 02 MOV DL,2 ; | 004D1BE1 |. B8 801C4D00 MOV EAX,faxsky.004D1C80 ; | 004D1BE6 |. E8 FDCCF6FF CALL faxsky.0043E8E8 ; \成功 004D1BEB |. EB 15 JMP SHORT faxsky.004D1C02 004D1BED |> 6A 00 PUSH 0 ; /Arg1 = 00000000 004D1BEF |. 66:8B0D 741C4>MOV CX,WORD PTR DS:[4D1C74] ; | 004D1BF6 |. B2 01 MOV DL,1 ; | 004D1BF8 |. B8 9C1C4D00 MOV EAX,faxsky.004D1C9C ; | 004D1BFD |. E8 E6CCF6FF CALL faxsky.0043E8E8 ; \出错框 004D1C02 |> 33C0 XOR EAX,EAX 004D1C04 |. 5A POP EDX
反推注册码:取得cpuid=6b1(hex),加上15933(hex)得15FE4(hex),然后再乘42(hex),得5AB8C8,转换为十进制即为5945544 ------------------------------------- 三、总结。 注册码是出来了,但还是晕倒,注册完后才发现软件是不完整的程序,不过可以学一下dede与od配合查找注册码的思路。 cracked by lordor
|
|
查看所有0条评论>>