只试了一下hyperplatform,别的估计也行。
主要原理就是Nmi的不可屏蔽特性,首先A核向B核发送一个ipicall,让B核vm-exit,然后A核马上利用local apic,发送一个消息让B核去执行Nmi中断,然后Nmi中断后执行我们预先注册的callback,我们的callback就拿到了host的权限。下面代码是一个测试,有虚拟化就不会蓝屏,没虚拟化就出非法指令,然后蓝屏。
核心代码:
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法