-
-
vt通过MTF设置调试并进行事件注入后陷入vmm的神奇特性!
-
-
vt通过MTF设置调试并进行事件注入后陷入vmm的神奇特性!
当我设置MTF调试标志位并注入 #DB 事件后,vm进入 #DB handler 的第一条指令后陷入vmm。
当我查看异常处理栈是数据是正常的,但是执行一些无关内存的指令后,异常处理栈中的数据却被莫名其妙的被修改了!
图1为陷入vmm是的guest.rip,图2为异常处理栈。
vmm中的汇编如下:
仅仅是执行简单的 mov 寄存器操作,异常处理栈中的数据就被修改了。但事实上我并未执行修改内存的任何操作!
神奇的是异常处理栈顶 rip, cs, rflgas, rsp, ss 被修改,而且rip的位置刚好对应于当前vmm的rip!
仔细检查了一下,发现随着vmm指令的执行,异常处理栈中的数据会自动被改变!
恰好是 rip, cs, rflgas, rsp, ss 。
每步调试时,对应的数据就会被修改,而直接 g 的话数据将不会被修改。
有相关设置让其相关数据不被修改吗?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课