黑鹰破解---软件的爆破p32

https://files.cnblogs.com/tk091/SMS.zip

首先查壳

ASPack 2.12 -> Alexey Solodovnikov

很简单,用esp搞定

 1 00401408   /EB 10           jmp     short 0040141A                   ; oep
 2 0040140A   |66:623A         bound   di, dword ptr [edx]
 3 0040140D   |43              inc     ebx
 4 0040140E   |2B2B            sub     ebp, dword ptr [ebx]
 5 00401410   |48              dec     eax
 6 00401411   |4F              dec     edi
 7 00401412   |4F              dec     edi
 8 00401413   |4B              dec     ebx
 9 00401414   |90              nop
10 00401415  -|E9 98F04900     jmp     008A04B2
11 0040141A   \A1 8BF04900     mov     eax, dword ptr [49F08B]
12 0040141F    C1E0 02         shl     eax, 2
13 00401422    A3 8FF04900     mov     dword ptr [49F08F], eax

我们注册试试,发现会出现下面的提示:

我们用OD载入,查找字符串

1 Ultra String Reference, 条目 40
2  Address=00402DE9
3  Disassembly=mov     edx, 0049F421
4  Text String=注册码不正确!
5 
6 Ultra String Reference, 条目 41
7  Address=00402E37
8  Disassembly=mov     edx, 0049F42F
9  Text String=注册成功!\n  感谢您的支持!

跟进错误提示

 1 00402DDE  |. /74 4E         je      short 00402E2E
 2 00402DE0  |. |66:C785 14FFF>mov     word ptr [ebp-EC], 158
 3 00402DE9  |. |BA 21F44900   mov     edx, 0049F421                    ;  注册码不正确!
 4 00402DEE  |. |8D85 44FFFFFF lea     eax, dword ptr [ebp-BC]
 5 00402DF4  |. |E8 B3AD0900   call    0049DBAC
 6 00402DF9  |. |FF85 20FFFFFF inc     dword ptr [ebp-E0]
 7 00402DFF  |. |8B00          mov     eax, dword ptr [eax]
 8 00402E01  |. |E8 F69C0600   call    0046CAFC
 9 00402E06  |. |FF8D 20FFFFFF dec     dword ptr [ebp-E0]
10 00402E0C  |. |8D85 44FFFFFF lea     eax, dword ptr [ebp-BC]
11 00402E12  |. |BA 02000000   mov     edx, 2
12 00402E17  |. |E8 8CAE0900   call    0049DCA8
13 00402E1C  |. |8B0D C09C4A00 mov     ecx, dword ptr [4A9CC0]          ;  dump.004AB1E4
14 00402E22  |. |8B01          mov     eax, dword ptr [ecx]
15 00402E24  |. |E8 A7570600   call    004685D0
16 00402E29  |. |E9 F2000000   jmp     00402F20
17 00402E2E  |> \66:C785 14FFF>mov     word ptr [ebp-EC], 164
18 00402E37  |.  BA 2FF44900   mov     edx, 0049F42F                    ;  注册成功!\n  感谢您的支持!

错误提示上面的提示即是关键跳,但是通过实验发现,仅修改这个跳转是不成功的,也就是不完美爆破。

因为程序还有个问题,就是使用次数的问题,即是破解了这里,还是会显示nag框。

总的来说,程序验证注册码是否成功,如果成功,则跳过次数限制以及注册失败。

 

我们往上看

 1 0040261F  |. /0F84 41090000 je      00402F66
 2 00402625  |. |66:C785 14FFF>mov     word ptr [ebp-EC], 8C
 3 0040262E  |. |BA 11F34900   mov     edx, 0049F311                    ;  count
 4 00402633  |. |8D45 C8       lea     eax, dword ptr [ebp-38]
 5 00402636  |. |E8 71B50900   call    0049DBAC
 6 0040263B  |. |FF85 20FFFFFF inc     dword ptr [ebp-E0]
 7 00402641  |. |8B10          mov     edx, dword ptr [eax]
 8 00402643  |. |8B85 FCFEFFFF mov     eax, dword ptr [ebp-104]
 9 00402649  |. |E8 1E200200   call    0042466C
10 0040264E  |. |83F8 03       cmp     eax, 3
11 00402651  |. |0F9CC1        setl    cl
12 00402654  |. |83E1 01       and     ecx, 1
13 00402657  |. |51            push    ecx
14 00402658  |. |FF8D 20FFFFFF dec     dword ptr [ebp-E0]
15 0040265E  |. |8D45 C8       lea     eax, dword ptr [ebp-38]
16 00402661  |. |BA 02000000   mov     edx, 2
17 00402666  |. |E8 3DB60900   call    0049DCA8
18 0040266B  |. |59            pop     ecx
19 0040266C  |. |84C9          test    cl, cl
20 0040266E  |. |0F84 4D020000 je      004028C1

有两个跳转,可以跳过次数限制,我们只需要修改第一个即可。

录制的视频:http://115.com/file/e79q3n0n

posted @ 2012-05-09 23:14  r3call  阅读(804)  评论(0编辑  收藏  举报