只试了一下hyperplatform,别的估计也行。
主要原理就是Nmi的不可屏蔽特性,首先A核向B核发送一个ipicall,让B核vm-exit,然后A核马上利用local apic,发送一个消息让B核去执行Nmi中断,然后Nmi中断后执行我们预先注册的callback,我们的callback就拿到了host的权限。下面代码是一个测试,有虚拟化就不会蓝屏,没虚拟化就出非法指令,然后蓝屏。
核心代码:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!