AMD CPU 哪个工作岗位需要了解
AMD SVM / Intel VMX / Windows 内核 / Hypervisor
个人分析被360垄断了,以下内容很多通过360搜索获得,又或者360处于绝对行业头部地位
1. 虚拟化内核开发(最正统岗位)
- 做:VMware、Hyper-V、KVM、VirtualBox、QEMU
- 职责:实现 CPU 虚拟化、内存虚拟化(NPT/EPT)、中断注入
- 必须懂: AMD SVM、Intel VT-x、VMCB / VMCS、VMEXIT
- 属于:底层系统工程师 / 内核工程师
2. 反作弊 / 游戏安全工程师
3. 安全研究员 / 漏洞挖掘工程师(红蓝队)
红队(攻击)
- 用 HV 做:无文件攻击、隐藏木马、绕过 EDR、内核免杀
- 必须懂 SVM 实现隐藏执行
蓝队(防守)
- 检测恶意 hypervisor
- 识别 rootkit、VM 逃逸漏洞
- 同样要精通 SVM / VMX
4. 内核驱动开发工程师
- 做:杀毒引擎、沙盘、系统增强工具
5. 固件 / BIOS / 底层安全工程师
- 做:SEV、TSME、PSP 相关安全
- AMD 安全虚拟化技术(非常高端)
6. 模拟器 / 主机逆向工程师(游戏机方向)
哪些岗位反而不需要懂这么深
- 普通应用开发(Java/Go/Python/ 前端)
- 游戏业务逻辑开发(Unity/UE 业务)
- 测试、运维、网络工程师
- 普通逆向工程师(只懂脱壳、内存修改)
一、先明确:你要学的是 AMD SVM (AMD-V) 硬件虚拟化
不是:
- GPU 共享内存 SVM(Shared Virtual Memory)❌
- 机器学习支持向量机 SVM❌
- 其他任何 SVM ❌

AMD SVM = 双层模式 + 一个控制块(VMCB) + 硬件拦截(VMEXIT) + 硬件内存虚拟化(NPT)
- Host Mode:Hypervisor(SimpleSvm),最高权限*(Ring -1)
- Guest Mode:Windows / 游戏 / 反作弊,被监控(Ring 0~3)
- VMCB:保存 Guest 状态、控制拦截规则
- VMEXIT:Guest 碰敏感指令 → 硬件切回 Host
- NPT:硬件加速二级页表,不卡
权限:Host > Guest Ring 0 > Guest Ring 3
万事代码一份(伪代码)
1)simleSVM = simple + SVB
- 一段代码如下,只是稍微阅读一下看是否能理解。。。
3)我的结果是:代码好理解,有什么理解不了的;反而是各种水图,PPT,结构图理解不了;
4)还有各种莫名的比喻和排比:"想象一下,在一个大型物流中心,CPU和GPU分别是两个独立的仓库管理员。"懒得吐槽
cpp
// 1. 检查 SVM 支持
Cpuid(0x80000001, &eax, &ebx, &ecx, &edx);
if (!(ecx & (1 << 2))) return 不支持;
// 2. 开启 SVME
__readmsr(MSR_EFER, &efer);
efer |= EFER_SVME;
__writemsr(MSR_EFER, efer);
// 3. 分配 VMCB
vmcb = AllocatePage(4KB 对齐);
// 4. 初始化 VMCB
vmcb->control.intercepts = 拦截 CR/MSR/异常;
vmcb->control.msrpm_base_pa = msrpm;
vmcb->control.n_cr3 = npt_cr3; // NPT
// 5. VMRUN 进入 Guest
VMRUN(vmcb_phys);
// 6. VMEXIT 处理(反作弊欺骗)
switch (exit_code) {
case VMEXIT_CPUID: 伪造 CPUID 返回;
case VMEXIT_MSR: 伪造 MSR 值;
case VMEXIT_CR0: 伪造 CR0;
}
参考资料链接
AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions
https://docs.amd.com/v/u/en-US/24594_3.37
水文
https://zhuanlan.zhihu.com/p/654394824
Qemu KVM(Kernel Virtual Machine)学习笔记