吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 27094|回复: 80
收起左侧

[原创] 一个有趣的上位机程序,过自效验+提取资源脱壳+改写DLL破解

  [复制链接]
ugvnui 发表于 2017-3-4 15:41
本帖最后由 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时会有很多无效指针。
QQ截图20170304144914.jpg

此时,我们要修复这些IAT ,,其实也简单,只要找到Magic Jump 一切问题当迎刃而解啦。

下bp VirtualProtect 断点  F9让程序跑起来。。。。   查看堆栈 (注意返回时机)(需要经过很长时间哦。。)
堆栈.jpg
经过一个比较长时间的解码,此时来到这里。。

按Alt+F9 返回
MaginJump.jpg
上面的第一个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   在这里就不多解释了。。


有效指针.jpg

修复IAT后程序依然运行不起来,,因为程序有资源被压缩,需要将资源提取出来,即:REG.dll 、Skin.dll等皮肤资源及注册模块。

下面我们要将压缩的资源提出出来 ,使用到的脚本插件:MoleBox 2.xx Unpacker + OEP Finder v1.10 (后面会提供)


脚本.jpg


在程序根目录下会创建一个文件夹用来存放释放出来的dll等资源文件。。。我们将脱壳后的主程序及有用的文件一并复制到该目录下。

脱壳完成.jpg

-------------------------------------------------------------------------------此时脱壳结束---------------------------------------------------------------------


但是我们运行后发现,程序会自动关机。。有自效验。。


继续载入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
此时程序效验已经搞定,,运行测试完美运行。。
完美运行.jpg

-------------------------------------------------------------------------------此时去自效验重启验证结束---------------------------------------------------------------------

继续破解,,当然我这里采用另类破解方法啦,,直接替换reg.dll文件,,该程序所有的加密等效验均来自REG.DLL文件。。我们使用DLL函数查看器查看DLL中的所有方法
DLL.jpg

使用汇编语言重写DLL,,我这里使用的是E语言(后面会发源码)我们其实也就是伪造一个加密DLL过程,省去修改程序的时间,也省去调试的时间。。
【在这里大家可能会问,,如何知道对应函数的参数,,我们可以使用IDA来查看方法函数,万能的F5功能,会帮到你的】

将编译好的DLL替换目录的REG.DLL文件。。运行软件。。
【运行软件前一定要注册控件哦。。双击目录中的“注册.bat” 否则程序运行没任何反应的。】

上一张成功截图!!

成功.jpg

至此该程序均已完美破解,,,没任何限制,,,虽然我闲来无事破解玩玩,,但是也同情发布该求破的那位朋友,,被处罚了吧。。下回一定要注意哦。论坛禁止求破的。。

当然写这东西太累,,如果你感觉有用得到的地方,请给点热心吧。。。在这里谢过大家了。。

附上所用到的工具:

MoleBox 2.xx Unpacker OEP Finder v1.10.rar (72.18 KB, 下载次数: 251)
REGDLL.rar (296.98 KB, 下载次数: 317)

免费评分

参与人数 44威望 +1 吾爱币 +66 热心值 +40 收起 理由
b82348234 + 1 + 1 我很赞同!
610100 + 3 + 1 谢谢@Thanks!
easygoingtobe + 1 热心回复!
yo44444 + 1 我很赞同!
xiaoxi52pj + 1 鼓励转贴优秀软件安全工具和文档!
悟空不悟 + 1 + 1 已答复!
lzhxwmr + 1 + 1 热心回复!
zcy99 + 1 + 1 谢谢@Thanks!
moritenw + 1 + 1 热心回复!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
sss15 + 1 + 1 我很赞同!
美美木耶 + 3 + 1 谢谢@Thanks!
守护神艾丽莎 + 1 + 1 热心回复!
qq7156792 + 3 + 1 我很赞同!
YYL7535 + 1 + 1 谢谢@Thanks!
Three_fish + 1 + 1 谢谢@Thanks!
alos + 2 + 1 用心讨论,共获提升!
jzp + 1 + 1 热心回复!
netle8 + 1 + 1 热心回复!
MagicnoBob + 1 + 1 谢谢@Thanks!
雾落尘 + 1 + 1 谢谢@Thanks!
pepsiguest + 1 + 1 用心讨论,共获提升!
雨辰ゞ + 1 + 1 谢谢@Thanks!
菜鸟天堂 + 2 + 1 这个有用,满分送上。
sweetaski + 1 + 1 我很赞同!
似水無痕 + 1 + 1 热心回复!
CrestKing + 1 热心回复!
Ftimes + 2 + 1 今天的全部都给你了
li930224 + 1 + 1 已答复!
wahx1314 + 1 + 1 用心讨论,共获提升!
水墨 + 1 + 1 谢谢@Thanks!
你与明日 + 3 + 1 修复过程复杂 但简单,适合新手学学!教程很不错
zouxm2008 + 1 + 1 热心回复!
tony2526 + 1 + 1 已答复!
biscuitlx + 1 + 1 热心回复!
说再见 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
朱朱你堕落了 + 1 + 1 大神好厉害。膜拜啊。
KaQqi + 3 + 1 importrec对于这种失效有自动跟踪功能吧
闭上眼 + 1 + 1 热心回复!
Likey + 1 + 1 你将受到法律上最大限度的制裁 !
丶小明 + 1 cb没了,补个
酒醒黄昏 + 1 + 1 用心讨论,共获提升!
黑的思想 + 1 + 1 用心讨论,共获提升!
枫MapleLCG + 3 不明觉厉

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ugvnui 发表于 2018-12-12 17:11
朱朱你堕落了 发表于 2018-12-12 01:16
弱弱的问下大佬,IDA能查看带壳的DLL的函数的参数和方法函数吗?没有学过IDA,不知道啊。

不能,查函数需要无壳,
不过你可以尝试使用OD或者API Monitor试试,应该会有你要的东西。

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
朱朱你堕落了 + 3 + 1 热心回复!

查看全部评分

zh46543616 发表于 2017-11-16 13:02
那dll很眼熟,应该是一个公开的sdk dll,专门给别人计算一些信息用的,文章补充下调试dll怎么编写dll那些函数返回值的过程就更好了。
酒醒黄昏 发表于 2017-3-4 15:53
丶小明 发表于 2017-3-4 15:54
嘿嘿,这帮助了别人,又顺便发了一贴秀一波,还有楼主头像不错
shj2k 发表于 2017-3-4 16:06
感觉过程挺复杂的,向大神学习。
dai55555 发表于 2017-3-4 16:08
谢谢分享,非常感谢。
xinxing124 发表于 2017-3-4 16:17
谢谢分享,学习了
biscuitlx 发表于 2017-3-4 16:25
好腻害大牛,膜拜。关键是还帮了别人。
不愿醒来 发表于 2017-3-4 16:35
感谢楼主分享教程
tony2526 发表于 2017-3-4 16:41
楼主大神啊,膜拜下
zouxm2008 发表于 2017-3-4 17:05
有舍工具可以快速扣出DLL的导出函数的?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 19:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表