首页
社区
课程
招聘
[求助][讨论]脱VMP 猛壳
发表于: 2013-7-3 10:27 22292

[求助][讨论]脱VMP 猛壳

2013-7-3 10:27
22292
od用插件脱VMP
脱壳之前



脱壳之后




插件脱壳后可以运行,现在的问题是:
1.脱壳后是否还有另外的壳?
2.脱壳后如果没有其他的壳,那么VMP0,VMP1那两个区段是否可以删除?
3..ximo   这个新增的区段是什么?
4.脱壳后体积增大,如何去除VMP壳代码缩小体积。
M为带壳文件。
De_M为脱壳后文件。
http://pan.baidu.com/share/link?shareid=1710741091&uk=53548759

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
vmp0,vmp1 可以删掉,

.ximo 是插件作者把启动恢复 iat 等动作放在这个区段了
(该插件作者主要吸取了老外那脚本的脱壳方式,所以启动的时候要从 .ximo 启动,而不是原 oep )
2013-7-3 11:03
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢,你把我的四个问题都给回复了。而且解释的很清楚。第四个问题应该是在删除了VMP0,VMP1基础后,文件体积就应该缩小了。

追问一下删除VMP0,VMP1的工具,方法。我试着删除但是发生错误了。一定是我做的方法不对。 希望前辈能继续帮助。
2013-7-3 11:33
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
补充一下,你的附件我没下

vmp0 , vmp1 等区段,删不删出,是在于该程序内部有没有被 vm 过, 如果有,不能删除的
(除非你把该段 被保护的代码还原过来),如果是默认情况下,这两个区段可以删除

删除区段可以用 winhex , 你还是去玩简单一点的壳吧,vmp 外壳强度不高,但也要你有基础
至于还原的问题,比较复杂了
2013-7-3 11:48
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最后一问,内部被VM如何判断。我没有能力还原代码,下一步打算好好学习脱壳教程。这次我主要是想看一下被加壳文件里面里的原来软件的一些算法。
2013-7-3 12:00
0
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
6
你的意思是VM也是可还原的罗??
2013-7-3 12:15
0
雪    币: 1042
活跃值: (470)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你不认识的一大堆指令就是VM
2013-7-3 14:08
0
雪    币: 65
活跃值: (171)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
1.应该没壳了,但还存在VM及资源加密
2.VMP0肯定不能删除,至于VMP1能不能删除,你自己试下。
  VMP0不能删除的原因在于以下几点:
  (1)该插件修复API调用,程序仍然需要调用VMP0区段;
  (2)资源加密了,插件并没有还原资源,仍然要用壳的资源解密方式加载资源。
  (3)如果有VM的话,程序也会调用VMP0区段的;

3.ximo这个区段是针对有资源加密,这个区段是来HOOK 4个API用的,用壳的资源解密方式加载资源。
4.要想脱壳后缩小体积,只有自己脱壳(不用这个插件),还原API的调用,还原VM,还原资源.
2013-7-3 15:15
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
完整还原代码,我做不到,简单的算法被 vm 了,可以还原为意思相同的代码(能力有限
2013-7-4 10:39
0
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
10
那当然,我说的就是这个意思,只要弄成没有花指令。
当然 MOV EAX,1

XOR EAX,EAX
INC EAX
这样也是没有区别的。不必一定要完全的相同

就是现在最新的VMP也是可以做到”还原“的罗??
2013-7-4 10:42
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
vmp 1.6 - 2.x  vm 是完全相同的(低版本堆栈调用有些不同),只是增加了部分指令,和修正 bug
只要懂得它意思,完全横跨了版本
但外壳强度不断增加
2013-7-4 10:52
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
12
mov指令不影响任何eflag

xor直接将of cf清零,inc 也会对应的改变标志位。

对于虚拟机来说,这倆能一样吗
2013-7-4 10:56
0
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
13
......
仅仅是举个例子
代表 都是把EAX赋1
2013-7-4 11:09
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
14
我也是根据你的例子举个例子呀
2013-7-4 11:19
0
游客
登录 | 注册 方可回帖
返回
//