首页
社区
课程
招聘
[旧帖] [原创]一个疑是VMP新版壳的破解 0.00雪花
发表于: 2011-4-21 16:57 5280

[旧帖] [原创]一个疑是VMP新版壳的破解 0.00雪花

2011-4-21 16:57
5280

碰到一个疑是VMP新版壳的软件,PEID没认出什么壳,直接用OD载入的话,会自动关闭,需要用到ADVANCE OD和STRONG OD两个插件,把所有异常都忽略,所有反调试都勾上,修复OD后再进行载入

观察这个表可以发现用TLS段,一般这种情况都会对模块入口进行验证,所以,设置载入停留位置为系统断点
也来看看模块入口:

入口之后是不停的跳转,没完没了的,这是个虚拟机,还是别看代码的好,按F9直接运行,
结果提示:A debugger has been found running in your system.Please,unload it from memory and restart your program。
这个时候得想办法拦截它调用API的代码,于是:
BP LoadLibralyA
观察堆栈,得到1826101,在tmd1段内,用IDA分析,能找到这个返回地址被设置


然后顺着可以找到关键的一个点了

利用ret来跳转和调用API,就在这个位置下断1823f64,取消其他断点,然后就可以观察这个壳调用API了
直到:一个调用CloseHanle,句柄为DEADC0DE,然后就导入USER32.dll,调用MessageBoxA,输出发现调试器的信息了,失败
观察调用CloseHanle,句柄为DEADC0DE发现,触发了异常,由壳自己的代码处理了这异常。
于是用脚本修改这个位置的返回值,不触发异常
do_CloseHandle:
sti
cmp [esp+4],DEADC0DE
jne check_1
add eip,50    //API ret 位置
mov eax,0
然后可以继续按F9,观察API调用了
直到调用ZwQueryInformationProcess,

参数1E是被调试程序查询调试句柄的,正常运行情况下返回失败,代码为C0000353,调试模式下,返回成功0,buffer放置调试器的句柄
同样修改掉返回值
返回到用户代码后(地址1826101)
脚本处理
mov eax,c0000353
mov [12ff98],0
继续F9,可以看到壳在恢复text段代码,资源段,构建自己的IAT,觉得差不多了情况下,在text段按F2,可以来到原程序的代码空间了

是不是走错房间了。。。。
房间是没错,但房间的东西被偷了,IAT表也是乱七八糟的,直接按F9,软件正常运行了
到这先告一段落吧,后面tmd0段也是个虚拟机,IAT表在堆栈区很整齐的,修正一下,代码被替换的量很大,修复难度很高,过几天继续写


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (14)
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
晕死,图片没处理好
2011-4-21 16:58
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哥哥   这个是VMP吧~  TMD应该不会这么寒碜的去模仿VMP加区段方式吧.....
2011-4-21 18:15
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还不确定,版本信息都被修改过了,看到脱壳区有个类似的问题,有人回复说应该是TMD/WL新版
2011-4-21 18:29
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不过我还是认为应该是VMP2.0X版本~
2011-4-21 18:42
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
多谢,我去查查资料看
2011-4-21 18:43
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
LZ方便的话,可以把你弄的那个东东弄个下载链接~或者如果比较小的话可以传论坛上来~
2011-4-21 18:59
0
雪    币: 59
活跃值: (1501)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
明显是vmp。。。
2011-4-21 19:48
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
多谢,看来我一脚踢到石头了,还在努力中
2011-4-21 20:17
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不方便传附件,违反规矩滴
2011-4-21 20:18
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
纠正一下,上面找到的还不是OEP,CPU的控制权在壳的TMD1段
2011-4-21 21:06
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习。。。。。。
2011-4-22 10:47
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习。。。。。。 学习
2011-4-30 22:51
0
雪    币: 110
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wzb
14
ADVANCE OD和STRONG OD两个插件的选项应该咋样选啊
2011-5-23 08:49
0
雪    币: 56
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
看来要学的东东还很多
2011-5-23 08:53
0
游客
登录 | 注册 方可回帖
返回
//