首页
社区
课程
招聘
[求助]VT-x 下 MSR HOOK 问题
发表于: 2016-11-14 14:03 10205

[求助]VT-x 下 MSR HOOK 问题

2016-11-14 14:03
10205
最近正在研究 VT 技术

看了一些代码 也 逆向了下 卡巴斯基2017 的 驱动代码

发现 x64 通过VT 实现的保护,都是通过 “VT级SSDT HOOK” 普通的MSR HOOK(修改MSR[0xC0000082]的值指向自己的代理函数,然后 VT 中处理 RDMSR-- MSR[0xC0000082]的原始值骗过PG的检查

我有个疑问,正常情况下 Guest 的R3 进程在进行API 调用时 会调用 syscall指令,这个指令也会 read MSR 寄存器,这种行为 VT 是无法捕获么?

如果 VT 能够捕获 按照上面所说的 VT 也会返回 原始的MSR值啊

请求大神 解释下~~

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 12
活跃值: (388)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
kaba2017没用vt吧,还是我记错了..
至于你这个问题..找一个框架自己看看就明白了。。
2016-11-14 14:55
0
雪    币: 111
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
klhk.sys 这个驱动 有 关于 VT的代码~
2016-11-14 14:58
0
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
cpu执行到syscall会直接使用msr_lstar的值作为切换到内核之后的eip,不会执行rdmsr,自然不会有vmexit,注意“使用msr_lstar”和“rdmsr msr_lstar”的区别
2016-11-14 15:48
0
雪    币: 111
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Thanks
2016-11-14 16:32
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=LTears;1452889] 最近正在研究 VT 技术

看了一些代码 也 逆向了下 卡巴斯基2017 的 驱动代码

发现 x64 通过VT 实现的保护,都是通过 “VT级SSDT HOOK” 普通的MSR HOOK(修改MSR[0xC0000082]的值指向自己的代理函数,然后 VT 中处理 RDMSR-- ...[/QUOTE]

虚拟化技术么?
2016-11-15 22:40
0
雪    币: 111
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
嗯嗯 是啊 ~~~
2016-11-16 12:35
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,搞xen么
2016-11-16 13:14
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
syscall直接使用msr的值,不会rdmsr
2016-11-17 00:52
0
游客
登录 | 注册 方可回帖
返回
//