首页
社区
课程
招聘
[分享]VMP壳原理
发表于: 2014-7-22 08:38 40416

[分享]VMP壳原理

2014-7-22 08:38
40416

总结vmp壳基础原理,大牛不要喷啊!

1.与传统的加壳工具不同,不是简单的把目标进行压缩、内存解压运行,而是修改目标源码,让目标的部分指令在vmp创建的虚拟环境下运行,虚拟环境中无操作数比较指令、条件跳转和无条件跳转指令;
2.被修改替换的目标指令最终形成的字节码有前后相关性,即你改变其他任意一个字节会影响到所有被vm虚拟化的指令
3.vmp的虚拟机其实是一个字节码解释器,循环的读取指令并执行,并且只有一个入口和一个出口
4.虚假跳转和垃圾指令, vmp会使用大量的虚拟跳转和垃圾指令将原有简单的代码变得复杂
5.vmp是基于堆栈的虚拟机,虚拟机指令不是显示的读取参数,而是把要使用的参数压入堆栈,而后直接从堆栈中读取
6.vmp指令
  1)算数运算和移位运算
  2)堆栈操作
  3)系统相关
  4)逻辑运算,这个最复杂,vmp中只有一个逻辑运算指令nor, 它可以模拟not and or xor 四个逻辑运算指令
6.vmp寄存器轮转
  mvp将所有的寄存器都放在一个堆栈的结构vm_context中, 结构中的每一项代码一个寄存器或临时变量
  在程序运行过程中, vm_context结构中保存的寄存器不是固定的,每当执行完一个操作或一个指令结构中的项与真实寄存器之间的映射关系会发生变化,就像一个齿轮随机的转动了一下, 转动过后原有的映射关系全部改变了
7.字节码加密和随机效验
  随机效验比较牛B, vmp会在编译好的字节码中加入自己的一些指令(专属于vmp自动的指令), 每一次执行都会对一段代码随机生成hash值, 然后与另一个随机数相加, vmp要求相加的结果必须为0, 否则会出错.


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

收藏
免费 3
支持
分享
最新回复 (23)
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呵呵 楼主有详细分析的计划么
2014-7-22 09:40
0
雪    币: 6
活跃值: (1141)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵,支持一下
2014-7-22 10:08
0
雪    币: 222
活跃值: (185)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
很厉害啊
2014-7-22 10:20
0
雪    币: 6566
活跃值: (4526)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5
希望这是楼主以后某篇精华里面的目录
2014-7-22 10:46
0
雪    币: 1555
活跃值: (3103)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
6
楼主 出些教程吧 嘎嘎
2014-7-22 11:52
0
雪    币: 185
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
来了就支持下!!!!!!!!!!!
2014-7-22 21:28
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
整理的不错 。。。。思路也清晰 。。。。。。
2014-7-22 21:39
0
雪    币: 144
活跃值: (46)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
很不错 但是里面有几个错别字啊
2014-7-22 22:01
0
雪    币: 6303
活跃值: (2051)
能力值: ( LV7,RANK:150 )
在线值:
发帖
回帖
粉丝
10
求小白鼠~
2014-7-22 22:23
0
雪    币: 576
活跃值: (1163)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
VMP的技术都概括出来了
2014-7-23 17:34
0
雪    币: 1234
活跃值: (302)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
路过学习
2014-7-23 17:36
0
雪    币: 45
活跃值: (1364)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
MARK
2014-8-7 15:29
0
雪    币: 319
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
如果楼主能够配合上面讲的出一些实例方面的介绍就更完美了,期待楼主的详细部分!
2014-9-3 20:08
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
能不能详细点啊。。。。。
2014-9-9 16:41
0
雪    币: 62
活跃值: (971)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
总结的不错,大部分是已经印证的。
2014-9-9 18:03
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
该不会是从某人的ppt里copy的吧……
2014-9-9 18:27
0
雪    币: 237
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
学习了。
2015-4-16 15:35
0
雪    币: 31
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
不错,学到了,谢谢楼主。
2018-8-4 06:35
0
雪    币: 2391
活跃值: (309)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
20
mark
2018-9-26 16:09
0
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
mark
2018-10-11 16:20
0
雪    币: 4734
活跃值: (4281)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
标记了,感谢楼主的经验分享。
2018-11-8 23:27
0
雪    币: 3136
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
謝謝分享
2018-11-14 02:53
0
雪    币: 312
活跃值: (613)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
24
百度的吧
2018-11-14 08:41
0
游客
登录 | 注册 方可回帖
返回
//