下载地址:http://www.newhua.com/soft/5173.htm
分析:
一.先试着注册,这个软件是时间限制30天,我们可以改变时间延长软件的使用.
二.也可以破解注册这个软件,来使用。
我们分别就两种方法进行分析.
1.安装好之后,首先开始查壳,是ASPack 2.000 -> Alexey Solodovnikov的壳。
2.脱壳,OD载入
0063A001 > 60 pushad
0063A002 E8 70050000 call 0063A577 //ESP 突显
0063A007 EB 4C jmp short 0063A055
0063A009 0000 add byte ptr [eax], al
0063A00B 0000 add byte ptr [eax], al
0063A00D 0000 add byte ptr [eax], al
0063A00F 0000 add byte ptr [eax], al
0063A011 0000 add byte ptr [eax], al
----------
hr 0012FFA4 下硬件断点,然后运行,
0063A4F2 /75 08 jnz short 0063A4FC
0063A4F4 |B8 01000000 mov eax, 1
0063A4F9 |C2 0C00 retn 0C
0063A4FC \68 20235700 push 00572320
0063A501 C3 retn
0063A502 8B85 FC474400 mov eax, dword ptr [ebp+4447FC]
F8单步走,来到了
00572320 55 push ebp
00572321 8BEC mov ebp, esp
00572323 83C4 EC add esp, -14
00572326 53 push ebx
00572327 56 push esi
00572328 33C0 xor eax, eax
0057232A 8945 EC mov dword ptr [ebp-14], eax
0057232D 8945 F0 mov dword ptr [ebp-10], eax
----------
DUMP 00572320 55 push ebp
然后复制全部,保存文件.
查壳,Borland Delphi 4.0 - 5.0
脱壳成功.
3。用W32dsm载入脱壳后文件
字符串查找关于30天的字符,出现“未注册版本只能使用30天,现在还剩”的字符.
双击这个字符来到
5680c3
在它的上面出现的是5680B0-5680C1,这里面就是关于所用的天数和剩下的天数。
我们用OD载入该文件.
CTRL+G,输入 5680c3 出现:
005680A5 |. 8B83 D8020000 mov eax, dword ptr [ebx+2D8]
005680AB |. E8 5CCCECFF call 00434D0C
005680B0 |> 8B35 74B55700 mov esi, dword ptr [57B574] ; 456.0057B368
005680B6 |. 8B36 mov esi, dword ptr [esi]
005680B8 |. A1 F8B85700 mov eax, dword ptr [57B8F8]
005680BD |. 2B30 sub esi, dword ptr [eax]
005680BF |. 85F6 test esi, esi
005680C1 |. 7E 51 jle short 00568114
005680C3 |. 68 14825600 push 00568214
005680C8 |. A1 74B55700 mov eax, dword ptr [57B574]
005680CD |. A1 F8B85700 mov eax, dword ptr [57B8F8]
005680D2 |. 8BC6 mov eax, esi
005680D4 |. 8D55 F4 lea edx, dword ptr [ebp-C]
005680D7 |. E8 F018EAFF call 004099CC
------------
该地方就是关于天数和剩下的天数。
005680B0 |> \8B35 74B55700 mov esi, dword ptr [57B574] ; 456.0057B368
005680B6 |. 8B36 mov esi, dword ptr [esi]
005680B8 |. A1 F8B85700 mov eax, dword ptr [57B8F8]
005680BD |. 2B30 sub esi, dword ptr [eax]
005680BF |. 85F6 test esi, esi
005680C1 |. 7E 51 jle short 00568114
我们只要从SUB下手
005680BD |. 2B30 sub esi, dword ptr [eax]
这里是用30天减去我们使用的天数剩下的天数.
我们可以把它改变成
005680BD |. 2B30 sub esi, 0 // 这样的话那一直都是剩余天数是30天
如果改成
005680BD |. 2B30 add esi, dword ptr [eax] //那就是使用天数没用一次增加一天.
也可以NOP掉,大家可以进行测试,因为是使用天数,大家不能可能等一天去观察结果,可以改变系统时间去观看自己的结果。
3.下面我们从对软件的破解注册入手进行分析。
还是用 W32DSM载入,查找字符串。在刚才剩余天数下面有显示,“谢谢您的支持.....”
双击来到 568152,它的下面是“对不起,注册非法....”
从这里能看出,跳转时在上面。
用 OD载入文件,CTRL+G 输入:568152
0056812F |. E8 70A5F0FF call 004726A4
00568134 |> A1 C0B85700 mov eax, dword ptr [57B8C0]
00568139 |. 8B00 mov eax, dword ptr [eax]
0056813B |. 8B15 10B45700 mov edx, dword ptr [57B410] ; 456.0057D33C
00568141 |. 3B02 cmp eax, dword ptr [edx]
00568143 |. 75 44 jnz short 00568189
00568145 |. 33D2 xor edx, edx
00568147 |. 8B83 E8020000 mov eax, dword ptr [ebx+2E8]
0056814D |. E8 BACBECFF call 00434D0C
00568152 |. BA 7C825600 mov edx, 0056827C
00568157 |. 8B83 D8020000 mov eax, dword ptr [ebx+2D8]
0056815D |. E8 AACBECFF call 00434D0C
00568162 |. 33D2 xor edx, edx
00568164 |. 8B83 F8020000 mov eax, dword ptr [ebx+2F8]
0056816A |. E8 85CAECFF call 00434BF4
---------------
0568141 |. 3B02 cmp eax, dword ptr [edx]
00568143 |. 75 44 jnz short 00568189
00568145 |. 33D2 xor edx, edx
00568147 |. 8B83 E8020000 mov eax, dword ptr [ebx+2E8
跳转比较都在这里,我们把
00568143 |. 75 44 jnz short 00568189
改成
00568143 /74 44 je short 00568189
然后保存文件,运行下文件看,就会显示已注册。
从而就解决了天数问题和注册问题.
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!