一个关于如何从零开始编写虚拟机监控器的教程
所有部分 »
第 1 部分
·
第 2 部分
·
第 3 部分
·
第 4 部分
·
第 5 部分
·
第 6 部分
·
第 7 部分
·
第 8 部分
如果你想使用虚拟机监控器进行分析和逆向工程任务,请查看 HyperDbg 调试器。它是一款基于虚拟机监控器的调试器,专为分析、模糊测试和逆向应用程序而设计。在 OpenSecurityTraining2 的网站(推荐)和 YouTube 上可以找到一套免费且全面的基于虚拟机监控器的逆向工程教程,其中展示了大量关于如何利用虚拟机监控器进行逆向工程的实用示例。
注意:Hypervisor From Scratch 教程已于 2022 年 8 月全面修订。所有部分的代码均已更新,删除了不必要的细节,并为教程添加了新的解释和材料。
这是系列虚拟机监控器教程的源代码。
可在以下地址获取:https://rayanfam.com/tutorials
第 1 部分 - 基本概念与配置测试环境 (https://rayanfam.com/topics/hypervisor-from-scratch-part-1)
第 2 部分 - 进入 VMX 操作 (https://rayanfam.com/topics/hypervisor-from-scratch-part-2)
第 3 部分 - 搭建我们的第一台虚拟机 (https://rayanfam.com/topics/hypervisor-from-scratch-part-3)
第 4 部分 - 使用扩展页表(EPT)进行地址转换 (https://rayanfam.com/topics/hypervisor-from-scratch-part-4)
第 5 部分 - 设置 VMCS & 运行客户机代码 (https://rayanfam.com/topics/hypervisor-from-scratch-part-5)
第 6 部分 - 虚拟化一个已在运行的系统 (https://rayanfam.com/topics/hypervisor-from-scratch-part-6)
第 7 部分 - 使用 EPT 与页级监控功能 (https://rayanfam.com/topics/hypervisor-from-scratch-part-7)
第 8 部分 - 如何用虚拟机监控器施展魔法! (https://rayanfam.com/topics/hypervisor-from-scratch-part-8)
注意:请记住,虚拟机监控器会随着时间推移而发生变化,因为操作系统会添加新功能或采用新技术。例如,针对 Meltdown 与 Spectre 的更新就给虚拟机监控器带来了许多变化。因此,如果你想在项目、研究或其他任何场合中使用 Hypervisor From Scratch,就必须使用本系列教程最新部分中的驱动程序。由于本教程会持续更新,且改动会应用在较新的部分(较旧的部分保持原样),你在较旧的部分中可能会遇到错误和不稳定问题,因此在真实项目中使用时,请务必使用最新部分。
要编译此项目,你必须使用 Windows 驱动程序开发工具包(WDK)。首先安装 Visual Studio,然后安装 WDK。之后,你就可以编译它了。
所有驱动程序都在物理机以及 VMWare Workstation 的嵌套虚拟化环境中进行了测试;从第 8 部分开始增加了对 Hyper-V 的支持,这意味着你可以在物理机、VMWare Workstation 的嵌套虚拟化环境以及 Hyper-V 的嵌套虚拟化环境中测试第 8 部分及更新的部分。
如果你想了解更多关于虚拟机监控器的内容,可以访问 awesome virtualization 仓库。
本系列教程由以下人员编写:
特别感谢以下人员的帮助与贡献:
Hypervisor From Scratch 采用 MIT 许可证授权。