本帖最后由 ugvnui 于 2017-3-5 11:43 编辑
今天在群里看到一个违规求破帖,当然已经被删除了,就不贴地址了。。闲来无事,下载下来瞧瞧,没成想还挺有意思的。。
原版程序下载地址:http://pan.baidu.com/s/1hsQJOOW
使用工具:OD + IDA + DLL函数查看器 + 解压脚本
查壳:MoleBox V2.X -> MoleStudio.com (有资源文件被压缩)
废话不多说,直接载入OD 脱壳。
停留在:
[Asm] 纯文本查看 复制代码 0048CBD3 > E8 00000000 call 0048CBD8
0048CBD8 60 pushad
0048CBD9 E8 4F000000 call 0048CC2D
0048CBDE B5 85 mov ch,0x85
0048CBE0 A9 BF7BFEFD test eax,0xFDFE7BBF
0048CBE5 48 dec eax
MoleBox V2.X 壳到OEP比较容易,直接ESP定律搞定,,但是在Dump后,在修复IAT时会有很多无效指针。
此时,我们要修复这些IAT ,,其实也简单,只要找到Magic Jump 一切问题当迎刃而解啦。
下bp VirtualProtect 断点 F9让程序跑起来。。。。 查看堆栈 (注意返回时机)(需要经过很长时间哦。。)
经过一个比较长时间的解码,此时来到这里。。
按Alt+F9 返回
上面的第一个je就是关键跳啦。。。我们下硬件执行断点。 he 00494658
重新载入程序CTRL+F2
ESP定律 下好断点,F9让程序跑起来,,,此时程序会段在我们下好的硬件断点处 00494658
我们将00494658 |. /74 45 je short 0049469 修改为 00494658 /EB 45 jmp short 0049469F
取消00494658处硬件执行断点,F9继续跑。。
此时程序会按照ESP定律跑到程序OEP ,,,当然上 LordPE ImportREC 在这里就不多解释了。。
修复IAT后程序依然运行不起来,,因为程序有资源被压缩,需要将资源提取出来,即:REG.dll 、Skin.dll等皮肤资源及注册模块。
下面我们要将压缩的资源提出出来 ,使用到的脚本插件:MoleBox 2.xx Unpacker + OEP Finder v1.10 (后面会提供)
在程序根目录下会创建一个文件夹用来存放释放出来的dll等资源文件。。。我们将脱壳后的主程序及有用的文件一并复制到该目录下。
-------------------------------------------------------------------------------此时脱壳结束---------------------------------------------------------------------
但是我们运行后发现,程序会自动关机。。有自效验。。
继续载入OD,,下 bp GetFileSize 断点 F9运行,,程序断下,Alt+F9返回 F8单步向下走。到
[Asm] 纯文本查看 复制代码 00401A29 8B95 40F6FFFF mov edx,dword ptr ss:[ebp-0x9C0]
00401A2F 81E2 FF000000 and edx,0xFF
00401A35 85D2 test edx,edx
00401A37 74 0A je short 00401A43 ; 这里关键,比对MD5是否相同,必须跳过
00401A39 C785 E4FEFFFF 0>mov dword ptr ss:[ebp-0x11C],0x0
00401A43 6A 00 push 0x0
00401A45 E8 CD080300 call 00432317
00401A4A 83C4 04 add esp,0x4
00401A4D 50 push eax
一共有两处文件md5效验位置:
Ctrl+B 搜索二进制字符串: 74 ?? C7 85 ?? FE FF FF 00 00 00 00 将je全部修改为jmp
此时程序效验已经搞定,,运行测试完美运行。。
-------------------------------------------------------------------------------此时去自效验重启验证结束---------------------------------------------------------------------
继续破解,,当然我这里采用另类破解方法啦,,直接替换reg.dll文件,,该程序所有的加密等效验均来自REG.DLL文件。。我们使用DLL函数查看器查看DLL中的所有方法
使用汇编语言重写DLL,,我这里使用的是E语言(后面会发源码)我们其实也就是伪造一个加密DLL过程,省去修改程序的时间,也省去调试的时间。。
【在这里大家可能会问,,如何知道对应函数的参数,,我们可以使用IDA来查看方法函数,万能的F5功能,会帮到你的】
将编译好的DLL替换目录的REG.DLL文件。。运行软件。。
【运行软件前一定要注册控件哦。。双击目录中的“注册.bat” 否则程序运行没任何反应的。】
上一张成功截图!!
至此该程序均已完美破解,,,没任何限制,,,虽然我闲来无事破解玩玩,,但是也同情发布该求破的那位朋友,,被处罚了吧。。下回一定要注意哦。论坛禁止求破的。。
当然写这东西太累,,如果你感觉有用得到的地方,请给点热心吧。。。在这里谢过大家了。。
附上所用到的工具:
MoleBox 2.xx Unpacker OEP Finder v1.10.rar
(72.18 KB, 下载次数: 251)
REGDLL.rar
(296.98 KB, 下载次数: 317)
|