龙马谷

 找回密码
 立即注册

QQ登录

只需一步,快速开始

龙马谷VIP会员办理客服QQ:82926983(如果临时会话没有收到回复,请先加QQ好友再发。)
1 [已完结] GG修改器新手入门与实战教程 31课 2 [已完结] GG修改器美化修改教程 6课 3 [已完结] GG修改器Lua脚本新手入门教程 12课
4 [已完结] 触动精灵脚本新手入门必学教程 22课 5 [已完结] 手游自动化脚本入门实战教程 9课 6 [已完结] C++射击游戏方框骨骼透视与自瞄教程 27课
7 [已完结] C++零基础UE4逆向开发FPS透视自瞄教程 29课 8 [已完结] C++零基础大漠模拟器手游自动化辅助教程 22课 9 [已完结] C++零基础开发DXF内存脚本辅助教程 32课
以下是天马阁VIP教程,本站与天马阁合作,赞助VIP可以获得天马阁对应VIP会员,名额有限! 点击进入天马阁论坛
1 [已完结] x64CE与x64dbg入门基础教程 7课 2 [已完结] x64汇编语言基础教程 16课 3 [已完结] x64辅助入门基础教程 9课
4 [已完结] C++x64内存辅助实战技术教程 149课 5 [已完结] C++x64内存检测与过检测技术教程 10课 6 [已完结] C+x64二叉树分析遍历与LUA自动登陆教程 19课
7 [已完结] C++BT功能原理与x64实战教程 29课 8 [已完结] C+FPS框透视与自瞄x64实现原理及防护思路
查看: 821|回复: 1

关于VT调试器 什么是VT技术

[复制链接]

14

主题

16

回帖

34

积分

编程入门

Rank: 1

龙马币
44
小子不忘记 | 显示全部楼层 |阅读模式

关于滴水的VT调试器 by 海风月影

论坛上今天吵的比较火热,主要是关于滴水的VT调试器,很多人不了解这个东西,我对Intel的VT技术略有了解,所以我来简单的介绍一下。

第一,什么是VT技术

VT是Intel的硬件虚拟化技术,说到VT,就不得不提虚拟机(例如VMWare)。在硬件还没有支持VT前,系统级的虚拟机其实是很难做的,要考虑的 东西非常多(主要是效率问题,因为用软件模拟东西资源开销比较大)。VT技术主要就是为了解决这个问题而诞生的,有了VT后,可以减少非常多的资源开销, 让虚拟机的速度接近于真机速度。

OK,那么VT到底是个什么技术呢?
首先要说一下VMM(Virtual Machine Monitor),这个是虚拟机的监控器,监控着虚拟机的运行。比如虚拟机想执行一条指令:cpuid,这个时候被VMM捕捉到,然后VMM去模拟执行这 条指令,然后返回给虚拟机,完成了一次vm exit。因为VMM需要执行ring0的指令,所以VMM需要运行在ring0下。
而VT使得CPU进入了一个全新的特殊模式(VMX模式),在这个模式下,CPU可以处于VMX root状态或者VMX non-root状态。处于VMX non-root操作状态下的CPU行为受到了某些方面的限制,关键的共享资源必须运行于VMX root操作状态的监控器的控制之下,并且,对于VMX non-root状态中的任何CPU特权都有效(只要处于VMX non-root状态,ring0 - ring3 都被监控)。因此,将VMM运行于VMX root操作状态,可以轻松监控管理客户操作系统(就是安装在虚拟机里面的操作系统)和客户应用程序(虚拟机里面操作系统里面安装的软件)。

大家可能被绕晕了,我举个例子简单解释一下上面最后一句话
比如:
一个虚拟机,里面装了winxp系统,系统里面有一个记事本程序
OK,winxp内核肯定要运行于ring0,而记事本肯定要运行于ring3,那么VMM怎么高效得管理这两个特权呢?
比如,POPFD这条指令,可以修改EFLAGS的IF位,即中断允许位,但是,在ring3下,是无法修改的。所以,VMM需要先判断客户机处于哪个特 权级别(ring0?ring3?),如果ring0就可以修改,如果ring3就拒绝修改。这样的过程就有开销。而VMX non-root状态对任何CPU特权都支持,因此,VMM可以让客户机完全在真实CPU上执行这条指令,不需要考虑这条指令执行后结果会不会出现问题。

简单的说:VT是为了减少虚拟化技术带来的性能开销而开发的硬件虚拟化技术,尽量消除关键指令和关键共享资源(比如内存的访问)的影响。而全新的VMX模式,可以使CPU运行于一个受监控的VMX non-root状态。

具体的VT技术的实现非常复杂,这里就不说了。

游客,如果您要查看本帖隐藏内容请回复


0

主题

22

回帖

23

积分

编程入门

Rank: 1

龙马币
8
vipsnadong | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

龙马谷| C/C++辅助教程| 安卓逆向安全| 论坛导航| 免责申明|Archiver|
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表龙马谷立场!
任何人不得以任何方式翻录、盗版或出售本站视频,一经发现我们将追究其相关责任!
我们一直在努力成为最好的编程论坛!
Copyright© 2018-2021 All Right Reserved.
在线客服
快速回复 返回顶部 返回列表