好友
阅读权限10
听众
最后登录1970-1-1
|
Sakya
发表于 2017-7-29 02:26
[ 本帖最后由 Sakya 于 2017-7-29 02:30 编辑 ]\n\n
【文章标题】: 带壳破解某医学考试软件
【软件名称】: 初级师药剂师
【下载地址】: http://www.drugabc.net/
【加壳方式】: ASProtect
【编写语言】: Delphi
【使用工具】: OD,keymade
【操作平台】: WinXP虚拟机
--------------------------------------------------------------------------------
【详细过程】
1、PEID查壳,ASProtect v1.32的壳,脱壳机不能把它脱掉,于是只能带壳调试,壳的强度不高。
2、OD载入,ctrl+G输入00401000到程序代码段,F9运行程序,程序跑起来到程序主界面,搜索字符串使用智能搜索,搜索内容“试用版”,因为程序左上角显示的是试用版。
代码如下:
0054E09F E8 ACB10200 call MedicalK.00579250 ; 关键CALL,软件升级和注册框都是调用这里来进行比较
0054E0A4 8BD8 mov ebx,eax ; 程序是通过赋值来进行比较的,所以要进关键CALL去修改
0054E0A6 889F 24030000 mov byte ptr ds:[edi+0x324],bl
0054E0AC 84DB test bl,bl
0054E0AE 74 39 je short MedicalK.0054E0E9 ; 跳了就变成未注册版,改跳转功能还是会被限制
0054E0B0 8BC6 mov eax,esi
0054E0B2 B9 5CE15400 mov ecx,MedicalK.0054E15C ; (正式版)
0054E0B7 8B97 0C030000 mov edx,dword ptr ds:[edi+0x30C]
0054E0BD E8 B26FEBFF call MedicalK.00405074
0054E0C2 A1 30295B00 mov eax,dword ptr ds:[0x5B2930] ; 4T[
0054E0C7 8B00 mov eax,dword ptr ds:[eax]
0054E0C9 8B80 0C040000 mov eax,dword ptr ds:[eax+0x40C]
0054E0CF 8B90 68010000 mov edx,dword ptr ds:[eax+0x168]
0054E0D5 A1 602B5B00 mov eax,dword ptr ds:[0x5B2B60] ; lW[
0054E0DA 8B00 mov eax,dword ptr ds:[eax]
0054E0DC 8B80 70040000 mov eax,dword ptr ds:[eax+0x470]
0054E0E2 E8 4D91EEFF call MedicalK.00437234
0054E0E7 EB 37 jmp short MedicalK.0054E120
0054E0E9 8BC6 mov eax,esi
0054E0EB B9 70E15400 mov ecx,MedicalK.0054E170 ; (试用版)
3、通过代码可以看出 0054E0AE 这个跳转实现了就会跳到试用版,当前程序就是试用版,由代码 0054E0A4 到 0054E0AC能看出程序是通过赋值来判断是否注册,所以 0054E09F 是关键CALL,进0054E09F去看看。
4、改赋值
进去之后看到
00579250 55 push ebp
00579251 8BEC mov ebp,esp
00579253 51 push ecx
00579254 B9 05000000 mov ecx,0x5
00579259 6A 00 push 0x0
0057925B 6A 00 push 0x0
0057925D 49 dec ecx
如果不确定这里是否是关键处可以下硬件执行断点,之前下过了确实是,可以确定程序是通过赋值进行判断,那么直接改代码:
00579250 55 push ebp
00579251 8BEC mov ebp,esp
00579253 51 push ecx
00579254 B9 05000000 mov ecx,0x5
改成
00579250 B8 01000000 mov eax,0x1
00579255 C3 retn
00579256 90 nop
00579257 90 nop
00579258 90 nop
以上两段要记下来,因为有壳无法保存。
5、制作内存补丁
打开keymade v2.0程序,点其他-制作内存补丁,程序名称点浏览找到MedicalKitMain.exe文件名,下面点击添加有5个输入地方:
修改地址:00579250
搜索范围:不用填
修改长度:9
原始指令:558BEC51B905000000
修改指令:B801000000C3909090
填完后点添加-生成-取个key.exe的名字。
找到程序目录点key.exe就能看到破解成功了。补丁会报毒,请考虑后再打开。
--------------------------------------------------------------------------------
【方法通用】
网站里的其他软件貌似用一个内存补丁就能搞定,至少一个补丁用了三个不同的程序都能注册。
评分免CB,有回帖就更好 |
-
-
破解版.rar
2.59 KB, 下载次数: 532, 下载积分: 吾爱币 -1 CB
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|