能力值:
( LV2,RANK:10 )
|
-
-
2 楼
学习了,爆破真是有趣!!
|
能力值:
( LV9,RANK:170 )
|
-
-
3 楼
在ds:[0053069C]内存处下硬件写断点
结果断在这里
0040D5DB . 8D95 E8EBFFFF lea edx, dword ptr [ebp-1418]
0040D5E1 . 52 push edx ; /序列号
0040D5E2 . 8D85 E4E7FFFF lea eax, dword ptr [ebp-181C] ; |
0040D5E8 . 50 push eax ; |注册码
0040D5E9 . E8 6D350400 call 00450B5B ; \核心算法
0040D5EE . 83C4 08 add esp, 8
0040D5F1 . 8985 A0DEFFFF mov dword ptr [ebp-2160], eax ; eax = 注册标志
0040D5F7 . 8B8D A0DEFFFF mov ecx, dword ptr [ebp-2160]
0040D5FD . 890D 9C065300 mov dword ptr [53069C], ecx ; 注册标志移入内存 //因为有写内存所以断在这里
0040D603 . 833D 9C065300>cmp dword ptr [53069C], 0
0040D60A . 0F84 F4010000 je 0040D804
跟踪0040D5E9 处 首先会根据你的电脑生成一个特征码
00450C32 |. 8B8D F4FBFFFF |mov ecx, dword ptr [ebp-40C]
00450C38 |. C1E1 04 |shl ecx, 4
00450C3B |. 33D2 |xor edx, edx
00450C3D |. 8A940D 75F7FF>|mov dl, byte ptr [ebp+ecx-88B]
00450C44 |. 83C2 08 |add edx, 8
00450C47 |. 81E2 FF000000 |and edx, 0FF
00450C4D |. 52 |push edx ; /<%02x>
00450C4E |. 8B85 F4FBFFFF |mov eax, dword ptr [ebp-40C] ; |
00450C54 |. C1E0 04 |shl eax, 4 ; |
00450C57 |. 33C9 |xor ecx, ecx ; |
00450C59 |. 8A8C05 74F7FF>|mov cl, byte ptr [ebp+eax-88C] ; |
00450C60 |. 83C1 08 |add ecx, 8 ; |
00450C63 |. 81E1 FF000000 |and ecx, 0FF ; |
00450C69 |. 51 |push ecx ; |<%02x>
00450C6A |. 8B95 F4FBFFFF |mov edx, dword ptr [ebp-40C] ; |
00450C70 |. C1E2 04 |shl edx, 4 ; |
00450C73 |. 33C0 |xor eax, eax ; |
00450C75 |. 8A8415 73F7FF>|mov al, byte ptr [ebp+edx-88D] ; |
00450C7C |. 83C0 08 |add eax, 8 ; |
00450C7F |. 25 FF000000 |and eax, 0FF ; |
00450C84 |. 50 |push eax ; |<%02x>
00450C85 |. 8B8D F4FBFFFF |mov ecx, dword ptr [ebp-40C] ; |
00450C8B |. C1E1 04 |shl ecx, 4 ; |
00450C8E |. 33D2 |xor edx, edx ; |
00450C90 |. 8A940D 72F7FF>|mov dl, byte ptr [ebp+ecx-88E] ; |
00450C97 |. 83C2 08 |add edx, 8 ; |
00450C9A |. 81E2 FF000000 |and edx, 0FF ; |
00450CA0 |. 52 |push edx ; |<%02x>
00450CA1 |. 8B85 F4FBFFFF |mov eax, dword ptr [ebp-40C] ; |
00450CA7 |. C1E0 04 |shl eax, 4 ; |
00450CAA |. 33C9 |xor ecx, ecx ; |
00450CAC |. 8A8C05 71F7FF>|mov cl, byte ptr [ebp+eax-88F] ; |
00450CB3 |. 83C1 08 |add ecx, 8 ; |
00450CB6 |. 81E1 FF000000 |and ecx, 0FF ; |
00450CBC |. 51 |push ecx ; |<%02x>
00450CBD |. 8B95 F4FBFFFF |mov edx, dword ptr [ebp-40C] ; |
00450CC3 |. C1E2 04 |shl edx, 4 ; |
00450CC6 |. 33C0 |xor eax, eax ; |
00450CC8 |. 8A8415 70F7FF>|mov al, byte ptr [ebp+edx-890] ; |
00450CCF |. 83C0 08 |add eax, 8 ; |
00450CD2 |. 25 FF000000 |and eax, 0FF ; |
00450CD7 |. 50 |push eax ; |<%02x>
00450CD8 |. 68 D4454E00 |push 004E45D4 ; |Format = "%02x%02x%02x%02x%02x%02x"
00450CDD |. 8D8D 00FCFFFF |lea ecx, dword ptr [ebp-400] ; |
00450CE3 |. 51 |push ecx ; |s
00450CE4 |. FF15 A8F74A00 |call dword ptr [<&USER32.wsprintfA>] ; \wsprintfA
接下来进行加密得到真正的序列号
00450DC8 |> \8D95 00FCFFFF |lea edx, dword ptr [ebp-400]
00450DCE |. 52 |push edx ; /特征码
00450DCF |. 8B45 0C |mov eax, dword ptr [ebp+C] ; |
00450DD2 |. 50 |push eax ; |序列号
00450DD3 |. 8B4D 08 |mov ecx, dword ptr [ebp+8] ; |
00450DD6 |. 51 |push ecx ; |注册码
00450DD7 |. E8 8FF7FFFF |call 0045056B ; \CMailSer.0045056B
再进行网上验证
00450E27 |. 8D8D 00FCFFFF |lea ecx, dword ptr [ebp-400]
00450E2D |. 51 |push ecx ; /Arg4
00450E2E |. 8B55 0C |mov edx, dword ptr [ebp+C] ; |
00450E31 |. 52 |push edx ; |Arg3
00450E32 |. 68 00040000 |push 400 ; |Arg2 = 00000400
00450E37 |. 8D85 6CEFFFFF |lea eax, dword ptr [ebp-1094] ; |
00450E3D |. 50 |push eax ; |Arg1
00450E3E |. E8 B0FAFFFF |call 004508F3 ; 网上验证函数
由于是网上验证的。所以只有爆破了.. 呵呵
|