带壳打补丁解决软件UPX脱壳后无法正常运行的问题
本帖最后由 董督秀 于 2020-12-6 23:06 编辑原帖在此。https://www.52pojie.cn/thread-1322205-1-1.html
涉及的程序是MicSoft.exe。感谢H大的提醒,现在重新整理贴图
思路1.关于尝试脱UPX来破解,
首先使用PEID 查壳。(1.jpg)
是UPX壳。(2.jpg)
OD载入。运行到004E6FC1,命令框输入 HR ESP+回车。然后F9运行。删除硬件断点后,单步到004E716B(3.jpg、4.jpg)。
F8进入到00490A80。00490A80是OEP。(5.jpg)
LORD PE选中进程MicSoft.exe。然后 纠正镜像,点击完全脱壳。得到MciOut_dumped.exe (6.jpg)。
用IR修复一下,得到MciOut_dumped_.exe(7.jpg)。
发现MciOut_dumped_.exe可以运行,但是运行后卡死。右键弹不出8.jpg的菜单。(8.jpg)
思路1的脱壳破解的路子走不通。那就带壳打补丁吧。
思路2.带壳打补丁。
OD载入MciOut.exe,F9直接运行起来。发现剩余试用天数的字符串。(9.jpg)
CTRL+G 输入00401000。在00401000,右键。中文搜索引擎---点击智能搜索。找到 注册 字符串。 双击 此处(10.jpg)。
看到字符串所经过之处,有三处跳转。分别在0048FFBA、0048FFE2和0048FFF2下F2断点。(11A.jpg)。
然后OD重新运行程序,CTRL+F2。然后在断点窗口激活三个断点(12.jpg)。
然后F9运行。发现三个断点无法断下,程序直接运行起来。(13.jpg)
我们想让它断下,怎么办呢?
下硬件执行断点!!!
分别在0048FFBA、0048FFE2和0048FFF2下 硬件执行断点。(14.jpg)
下好之后重新载入程序,然后F9运行。 发现OD断下来了,断在0048FFBA上。(15.jpg)
由于软件有壳,而且没有注册。软件在0048FFBA的跳转是红色线的,
0048FFBA /7C 28 jl short MciOut.0048FFE4
红色线,表示跳转成立。跳转成立,意味着软件打开后是未注册版本。同时注意到跳转形式是JL形式。我们要破解未注册,把跳转改成相反即可。JL的相反是JG。把JL改成JG即可,我们改成
0048FFBA /7F 28 jg short MciOut.0048FFE4
然后我们F9运行一下程序看看。断在0048FFE2,我们不管它,继续F9。程序运行起来了。注意到右下角提示,没有未注册之类的字样,表示破解成功!(16.jpg)
右键菜单栏没有 注册 之类的字样了!(17.jpg)
由于软件有壳,OD不能直接保存。于是我们带壳打补丁破解。这里用到的是樱花补丁。
打开补丁制作软件,选择EXE制作。选择加壳程序MciOut.exe (18.jpg)
内存地址填0048FFBA
原始指令填7C28
修改指令填7F28
如20.jpg这样填
然后点击添加。
切换到设置选项卡,等程序闲置时修改不要打上钩。 (19.jpg)
然后点击生成补丁。补丁命名为MciOut补丁.exe。运行一下,是注册版的。破解成功!
补丁已打包 MciOut补丁.rar
原软件已打包 MicSoft.zip
由于补丁传不上(服务器返回错误493),所以两者打包了。MciOut补丁+ MicSoft 解压密码52pojie.rar
解压密码52pojie UPX 的可以用 upx -d 直接解开吧,一般不需要走脱壳的路子呀。 本帖最后由 solly 于 2020-12-7 17:32 编辑
gawsm 发表于 2020-12-7 11:04
老大,壳是脱了,但是运行后右键不出菜单啊,直接卡死
是有文件校验,脱壳后还要跳过两个校验。
1:(文件校验)
0048FDCF 84C0 test al,al ; 改成 or al, 01
2:(这个是防止多实例的,可以不改)
0041A7BC 85DB test ebx,ebx ; 改成 xor ebx, ebx
就可以弹出菜单,但功能没有测试,不晓得可不可用。
刚刚漏了一张图,补充一下,这是樱花补丁需要填写的数据(20.jpg) 学无止境 本帖最后由 solly 于 2020-12-6 18:27 编辑
试了一下,UPX -d 出错,Windows 7 下用OD脱壳后就是一个 DefWindowProcA 函数的问题,这个只要在 WindowsXP 下脱壳就可以了,见附件:
够硬核,谢谢楼主{:1_893:} 谢谢分析,学习下!
自己写个dll劫持补丁应该更香吧 原创文章,思路写得很详细,值得学习! 看这个帮助,学习下编辑贴图https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36