分类
疑难问题

hypervisor 常见问题

被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位

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

0 0 vote
文章评分

由FAKE

Через тернии к звездам,
через радость и слезы
Мы проложим дорогу

Subscribe
提醒
guest
你的昵称 用于分别你是谁
你的电子邮箱 用于被回复时通知
0 评论
Inline Feedbacks
View all comments