首页
社区
课程
招聘
[原创]Vmprotect之OD插件
发表于: 2010-11-4 22:22 28195

[原创]Vmprotect之OD插件

2010-11-4 22:22
28195

Vmprotect之OD插件
         -西风
         -如果转载,请保持原文

  一直想做一个VMP的自动化工具,但我总是想法的巨人,行动的矮子,加之本人并非IT出身,计算机仅是一个爱好而已,CODE能力极其低下,所以,至今上图的工具还没有完成,等我完成的时候,我会与大家分享,不过,过程可能会有点漫长,感谢小伟提供的帮助,没有他的分析和同他的讨论,我想我至今还处在思索阶段。这里只能说说我的思路。
  
  1、站在巨人的肩上
  对于开发平台的选择,思考过注入,重新制作调试工具,无赖于CODE能力低下,非IT出身,半灌水的能力让我很痛苦,最终还是选择了OD平台,OD有丰富的API接口,利用OD本身,就是一个超级调试平台, 于是,我还是选择了OD平台。
  2、插件OR脚本
  最初我试图使用脚本,前期的效果非常好,但随着我试图分析清VM后的算法,脚本残缺的数据结构,不完全的指令系统,使这个过程变得不太快乐,于是我选择了前者,使用插件。
  3、静态OR动态
  OD分析VMP更向是一个纵深的过程,越深越痛苦,就像盗梦空间一样,你会变得分不清现实或是梦境,所以,我们需要一个横向展示的工具,展示出VMP真实的寄存器,堆栈,指令,当然这是是指VMP的指令,而不是X86指令,这样,使我们分析VM化的算法变成现实。
  最初我希望静态的分析VMP的handler,但提取和只别关键字和过程很是痛苦,在乱序和垃圾中寻找可用的语句,而且误判的情况较多,这里我使用到了模拟指令,过程有点像使用IDA一样,优点是速度快,结构比较清楚,不过,就像IDA中一样,你无法实时判断寄存中的值和分支,只有像车轮一样,两边都走一下,当然这可以形成一个树结构,这也是我希望在这个插件中完成的。最终我选择了动态,即实时运行扫描,扫描每一条指令,结合相关的值来判断handler,当然同一个handler只走一遍,ximo的方式同我相反,他是完成了动态,再转做静态,再次感叹我低下的CODE能力。
  4、如何分析handler
  第一个问题,如何判断你在梦中还是现实中,你需要一个图腾,只有你知道图腾的重量,运行状态,否则你将会在梦中迷失,不停的循环找不到出口,你死掉,就可以很快的回到实现了。
  出口在哪?
  进入VM中,实际是一个区段,就像梦境与现实始终是分离了,所以,我们关注区段就可以找到我们是否在vm中,我们始终关注ret指令,就像我们在梦中关注死亡一样,可以让我们很快找到出口,一般一两次ret后,最后一个ret就是出口,标记一下出口,会很有用。
  入口在哪?
  你从不曾记得梦是从哪开始的,你是怎么来到这里的,你回想一下,会发现你不知道你是如何开始的,在VM中,我们不停的循环,就在一个大循环中,入口只有一次,然后你就不再知道你怎么来这handler中了,没有图腾你就迷失了,无法搞清楚是现实还是梦境,所以,我们进入VM区段后,一定要记住,第一个ret就是循环的开始,第一个ret的前的代码与循环的分界点,那就是入口了。
  每一层梦都有特征,每个handler也是一样,你必须关注垃圾代码以外的,总结出特征,ESP在VMP作用不是太大,不用太过关注,相反你得关注,esi,ebp,因为,在梦中,世界是颠倒的,你得颠倒来看,handler的特征就不说了,这方面文章太多了,多看看ximo的帖子,会得到更多,我分析handler的时候,总是使用汇编,用最简单的指令,来看handler的构成,记住,构造一个复杂的梦境,会让意念难以查觉。
  再谈谈vmp的改进,梦中梦,vm中的vm,handler中的handler,用vm来模拟vm,你会发现你不停的进入每一层VM,每进入一层,速度都将比上一层慢20倍,但是,层数多了,你会发现,你很危险了,进入混沌,你就得重来了,所以,VM中的VM应该是下一个反破解的方向。
  5、如何识别hnadler
  我们需要关注是什么,不要去关注为什么,就像梦中一样,你只需关注,你在做什么,不需关注为什么,我们完成上面的特征定位后,剩下的就是识别。
  去掉不合理的,梦中的火车是可以开上公路的,这明显是不合理的,handler中有少的是不合常理的应用,  rol ah,0x4,btr eax,0x17,这类似的代码夹杂在常规指令中,本就没有意义,扫描时去掉,我们只取有用的。
  下次继续

  
  再次感谢小伟的支持,同他的讨论,使我提高很快。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
  • 1.JPG (64.37kb,1505次下载)
收藏
免费 7
支持
分享
最新回复 (44)
雪    币: 611
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持西风,貌似看到了还有个工具:Vmprotect Assist X。。。
2010-11-4 22:47
0
雪    币: 1482
活跃值: (879)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
等bin哈~
2010-11-4 22:51
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
前排插入支持!
2010-11-4 22:54
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
前排插入,广告位寻租。。。
2010-11-4 23:13
0
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
。。我也来围观一下楼主。。首页强势插入。。楼主是真正的实干家。。有思路就去做。。我是太监不管了。。。
2010-11-4 23:39
0
雪    币: 326
活跃值: (88)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
菜鸟搬个板凳来学习。
2010-11-4 23:57
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
哥支持你
2010-11-5 06:34
0
雪    币: 1119
活跃值: (4192)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
9
强势支持23
2010-11-5 07:42
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
表示囧……
2010-11-5 09:04
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
支持,学习。
2010-11-5 09:28
0
雪    币: 181
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
难道lz就是传说中的西风大侠~
2010-11-5 09:39
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
13
not body is interested in cv?

why does everybody want to fu-ck VMP?
2010-11-5 10:03
0
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
偶精神上支持楼主了
2010-11-5 11:18
0
雪    币: 389
活跃值: (967)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
15
使用强大的精神力量支持楼主
2010-11-5 11:30
0
雪    币: 111
活跃值: (211)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
进来支持一下,好几次想去研究总是坚持不下来
2010-11-5 12:01
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
只有图片吗?
2010-11-5 12:29
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
18
2011年之最给力OD插件
-------------
今年似乎很流行“给力”
2010-11-5 13:12
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
西风给力,给力西风!
2010-11-5 13:29
0
雪    币: 296
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
来~3B哥哥,我要跟你手把手,心连心搞VMP
2010-11-5 13:32
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
21
看到这个标题,我感到很吃惊~~看了这篇文章,我很惭愧~~向楼主的精神致敬!
2010-11-5 13:42
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
支持楼主,坚持到底!
2010-11-5 13:47
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
23
看到这贴才知道差距有多大,唯有默默的顶一下
2010-11-5 15:13
0
雪    币: 356
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
这个无语了,只能翘首以待啊。
2010-11-5 16:15
0
雪    币: 51
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
呵呵,被你发现了,这个不是我的,是小伟的,他做的比我做的好
2010-11-5 18:39
0
游客
登录 | 注册 方可回帖
返回
//