首页
社区
课程
招聘
vt通过MTF设置调试并进行事件注入后陷入vmm的神奇特性!
发表于: 2023-5-5 19:48 7043

vt通过MTF设置调试并进行事件注入后陷入vmm的神奇特性!

2023-5-5 19:48
7043


当我设置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直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 917
活跃值: (4990)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
有了解陷入异常处理后发生 MTF exit 相关属性的牛牛吗?我现在想在发生 MTF vm-exit 后进行一些操作再返回异常处理,但是相关栈帧会被修改
2023-5-6 11:35
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3
不是,为什么会有人用windows自己的调试机制去调vmm这种理论上应该对os透明的东西啊
2023-5-6 13:16
1
游客
登录 | 注册 方可回帖
返回
//