首页
社区
课程
招聘
[原创]谈谈vmp的还原(3)
发表于: 2018-4-14 19:32 7893

[原创]谈谈vmp的还原(3)

2018-4-14 19:32
7893

先说context

init初始化context分两种情况

那么第二种,就是随机生成了

关于pushad pushfd的保存 


选取空闲的context


代码如下:

这里说下,看到这部分实现的时候,脑子里的想法是当成树结构,用dfs去识别判断,因为以为是真轮转。记得,还给校长说,加密与解密那个目录处理的方法好像是图算法。

再注意到a2/v13 == 2, 才会去get context 

随意看一个调用,很明显tpye == 2才会去


那么其他的情况在只是return context,那么就好办了,因为可以得到,并不是真轮转


0x10 变形

下面这个东西,也是我最佩服vmp作者的地方,因为就这点东西,就可以做很多事情了。


注意是倒叙进行判断的

当我进行分析的时候,如果不是语言不在同一个频道,可能就膜拜了。

随意的,举个例子。这里可能会需要一些数据结构的知识 。


记当前结构为一个_cur_node

记当前上一个节点为_prev_node

记当前下一个节点为_next_node


假定

这两条在操作什么,很明显,可以看出vmp不是没有一些组合的

那么可能会出现下面的情况

_next_node变成PUSH ESP

new node,生成一个新的节点,记为_tmp_node


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

最后于 2018-4-15 18:22 被waiWH编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (6)
雪    币: 153
活跃值: (723)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持
2018-4-14 21:40
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
3
像楼主这样愿意分享干货的人不多了
2018-4-15 19:20
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
干货  mark
2018-4-17 11:59
0
雪    币: 622
活跃值: (282)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
厉害  楼主分析的VMP主程序是哪个版本的
2018-4-17 16:27
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
求能破加密狗的老师。付费      Q:646716529
2018-6-6 02:46
0
雪    币:
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
mark
2019-6-8 23:01
0
游客
登录 | 注册 方可回帖
返回
//