hypervisor 常见问题

发布于 2019-01-12  128 次阅读


被vmm监控的指令单步后 rip/eflags不正确

需要在=+vmexitinslen();前 如果Eflags.Trap_Flag 设置注射#DB异常

被vmm监控的指令执行后 线程的dr相关调试器失效

exit_ctls.acknowledge_interrupt_on_exit = true;//must be set
exit_ctls.save_debug_controls = true;//must be set

entry_ctls.load_debug_controls = true; //must be set

需要设置 vmexit load/save debug_controls~

rdmsr MSR_IA32_FEATURE_CONTROL检测 需要设置 该msr的bitmap

case MSR_IA32_FEATURE_CONTROL:

    value.QuadPart = __readmsr(ecx) & ~(FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX |
        FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX);

cr4.vmxme检测 需设置cr4shadowread 抹去 vmxme位

以及其他的一些固定位检测 可能需要模拟一下

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

博客管理员