嗯,我语文是不及格的,以下内容找了ai润色了一下,如有错误,欢迎指正.
之前研究EPT学习了一下某大佬的构建EPT(别问我项目在哪... 人家从git好像下架了,我找不到了),把EPT hook 啥的跑通后,想着NPT估计差不多?
然后就用着EPT的路子做了个恒等映射.

这个在Intel的平台好像没有问题,在好几台电脑也做过了测试.
ok,AMD的VMware上测了某问题~
然后,在物理机上一跑,唉? 你猜怎么着,秒蓝了.......
蓝屏是英伟达的驱动?!?!
我不信邪,掏出小破笔记本试试(R7 4800U) 没有独显核显.

也蓝掉了
这次蓝的AMD的核显驱动
为什么VMware好端端的跑的没问题呢?
ok,那大概知道问题在哪了.MmGetPhysicalMemoryRanges 返回的一般是系统物理内存范围(Windows管理的RAM物理区段)
那我先:
硬编码试试...
结果还是蓝掉了
我打开了设备管理器:

好家伙你在512G - 1T的内存范围内啊
继续硬编码,ok 没问题了. NPT能正常跑了.....
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!