首页
社区
课程
招聘
[原创]VMProtect完美脱壳过程——:)
2018-8-23 13:02 140556

[原创]VMProtect完美脱壳过程——:)

2018-8-23 13:02
140556

Hello~大家好,我是CatGames

这个VMP脱壳教程是非常的简单:)大佬勿喷(看雪大佬太多了 嘘~)

Welcome CatGames.cn

1.查看程序


这是我自己写的一个VB的小程序,长得有点丑,别介意。然后自己加了一个壳,是VMProtect v.1.6x - 2.03的壳。

接下来我们国际惯例,用PEID,EXEinfo PE查一下壳 


可以看到是加了VMP的壳的,VMP壳的介绍我会放在帖子的最后哦。


2.拉到OD去啦~


push 0xE131EEA3 这其实就是被VM过的OEP,你问我啥是Push?push 就是把什么什么东西压入栈中,你懂吧?就那个右下角的框框!

(注:为了帖子的精华呢我们举个栗子,VC++6.0编译的程序 大家都知道它的OEP开头是push ebp,那大家知道这个push ebp是什么意思吗?push ebp的意思是把ebp压入栈中,就相当于 int main() {} 程序的main函数哦!如果我讲的不够详细大家方可百度看看!)

接下来我们用到一个函数。


3.Ctrl+G搜索VirtualProtectEx(虚拟地址处理)



来到这里之后呢,我们在这个7D85E1FF这里按下键盘上的F2。下一个断点,运行程序,看看程序的变化。


Alt+M 来到这里



我们可以看到有PE文件头,等等等之类的。

我们数一下这里有几个段。

到这个VMP1这里一共是有五个段,啥意思呢?意思是我们运行程序五次,记住,不要第六次哦,第六次就跑飞了,程序跑到虚拟地址里去了。


这是运行五次之后,堆栈的状态



这是运行第六次之后,堆栈的状态



程序已经跑到虚拟地址里面去了,那我们就跑第五次就可以啦



现在是一个很好的返回时机,我们在.text的代码段下一个内存访问断点。然后F9运行,这样我们就跑出了VMP段了。


来到这里之后呢,一直往下跟可以跟到OEP。


我们直接查看,点击M



然后右键.text在反汇编窗口中查看


然后右键分析代码



搜索FF 25



可以来到他的JMP头

往下面看都是有很多的JMP



那么我们就去它的尾巴看看



从模块中删除分析,然后呢,点击M。


ctrl+F搜索76 62 35


这是VB的程序,我们要找到这个,然后可以看到00401368 我们记住这个。


回到反汇编窗口,空格汇编,把我们之前的push 0xxxxxxx改成我们的push 0x401368


然后下面的这个CALL,它CALL的是上面的JMP,那我们也修改一下这个CALL。


修改完是这样的,然后接着我们需要修复转存。

记得不要忘了右键在此处从新的EIP哦


4.修复转存


我们需要打开Import REConstructor 这款工具呢就不做多的介绍了。


找到我们需要修复的进程



然后去OD看看dump的OEP是多少,



114C,复制下来,



点击自动搜索,获取导入表,然后啥的就不说了。



还有LordPE我们修正镜像大小,然后完整转存,这都是正常的修复,都懂。


然后把Import REConstructor 的修复储存到我们LordPE dump出来的软件上就可以啦,我们先点开软件看看吧。



一个是我们原版的,一个是脱壳后的,我们给脱壳后的进行查壳看看。



当当当,脱壳完成。


然后我们打开软件,看看是否可以运行。



其他的区段优化我就不讲了,都是优化软件内存的!!!




:)小的不才,大佬勿喷。

这个脱壳的软件是很久之前写的:)来到看雪发帖又懒得重写一个:)虽然就一句代码:)

但是就是懒,因为还得去下载VB:)所以重点还是看怎么脱壳吧:)



[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2019-5-16 15:02 被UzJu编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (51)
雪    币: 41
活跃值: (340)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DeepFantasy 2018-8-23 14:16
2
0
                   
最后于 2018-8-23 14:25 被DeepFantasy编辑 ,原因:
雪    币: 129
活跃值: (43)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
True丶end 2018-8-23 15:27
3
1
没人出来吐槽的吗。。。。。
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 15:48
4
1
True丶end 没人出来吐槽的吗。。。。。
有什么不对的 可以说出来 我也可以学习学习
雪    币: 5
活跃值: (62)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
浩天he 2018-8-23 15:55
5
0
VMP3.X的脱壳,来一个教程啊
雪    币: 345
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KamiBoy 2018-8-23 16:04
6
0
套路是这样的
雪    币: 240
活跃值: (373)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
sky科 2018-8-23 17:14
7
0
很多壳子到vb上 然并卵了.
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 17:21
8
0
sky科 很多壳子到vb上 然并卵了.
嗯 
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 17:22
9
0
浩天he VMP3.X的脱壳,来一个教程啊
Vmp3可以去找找帖子 有分析的
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 17:22
10
0
KamiBoy 套路是这样的[em_19]
啥套路哇
雪    币: 345
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KamiBoy 2018-8-23 17:51
11
0
CatGames 啥套路哇
脱vmp的步骤是这样的
雪    币: 345
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KamiBoy 2018-8-23 18:12
12
0
你的赞助页404了
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 20:18
13
0
KamiBoy 你的赞助页404了
是嘛 感谢提醒 非常感谢!
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 20:20
14
0
KamiBoy 你的赞助页404了
欢迎加入哔哩哔哩喵粉集中营,群聊号码:773416122
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-23 20:20
15
0
KamiBoy 你的赞助页404了
欢迎加入哔哩哔哩喵粉集中营,群聊号码:773416122
雪    币: 2926
活跃值: (1382)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rleft 2018-8-24 03:42
16
0
为你认真的分享精神,和想获得精华的追求 点赞!
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-24 11:43
17
0
rleft 为你认真的分享精神,和想获得精华的追求 点赞!
啊 谢谢你!如果有什么说的不对不好的地方欢迎提成来 互相学习
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-24 12:04
18
0
各位看雪的大佬 我的群暂时满了 需要加群的可以加我好友 大家多多交流
雪    币: 2012
活跃值: (2775)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
xiaohang 3 2018-8-26 12:26
19
0
vb已经是过去式了,vmp对其也不支持,保护强度的确更低,帖子的没用只能算入门,不过写的很详细,加优秀鼓励一下
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-26 14:22
20
0
xiaohang vb已经是过去式了,vmp对其也不支持,保护强度的确更低,帖子的没用只能算入门,不过写的很详细,加优秀鼓励一下
嗯好 谢谢 会慢慢学习的 
雪    币: 110
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小剑 2018-8-26 22:22
21
0
这个叫做完美? 先不说 VB 了,你这个都没有用 VM 处理过代码,那就没有了 CPUID 等自校验等的卡,这只是属于最简单最简单最简单那种
如果说一份脱壳过程,那没毛病,毛病在 完美 两字 ,差老远了
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
聖blue 2018-8-26 23:34
22
0
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-27 09:55
23
0
小剑 这个叫做完美? 先不说 VB 了,你这个都没有用 VM 处理过代码,那就没有了 CPUID 等自校验等的卡,这只是属于最简单最简单最简单那种 如果说一份脱壳过程,那没毛病,毛病在 完美 两字 ,差老 ...
...至少脱完了  只是一个教程而已
雪    币: 452
活跃值: (6123)
能力值: (RANK:580 )
在线值:
发帖
回帖
粉丝
UzJu 8 2018-8-27 09:55
24
0
聖blue [em_52]
雪    币: 393
活跃值: (224)
能力值: ( LV8,RANK:140 )
在线值:
发帖
回帖
粉丝
BinGzL 1 2018-8-27 14:17
25
0
xiaohang vb已经是过去式了,vmp对其也不支持,保护强度的确更低,帖子的没用只能算入门,不过写的很详细,加优秀鼓励一下
精华给的真是越来越水了,我好像看到了十年前自己发的帖子
游客
登录 | 注册 方可回帖
返回