yimingqpa 发表于 2018-5-19 20:21:02

探讨EPT硬断模拟

一条线程中有四个DRX可以设置硬断,如果都被占坑了这就玩不下去了。

经过查阅和各种搜索后,发现有一篇 无限硬件断点 贴子可以参考。
楼主百般研究上面源码后发现, 那篇贴子技术对X86系统非常实用,然而在X64系统下无法应用起来。

后来和众多网友探讨与自行研究后发现,X64系统可以用EPT进行模拟硬断。
其原理是在设置、获取、删除硬断时使用一条链表对断点进行存储,在设置时改变其内存属性进入 EPT violation,在 MTF VM-exit时对断点地址注入int 1产生硬断异常。

再到后来编码与调试中楼主发现,注入int 1异常这项操作非常不稳定,要么卡死在系统 模块里要么崩在某地址上,百思不得姐特抱着学习的态度发贴请教各位大虾、高手、大拿、大手子。

Tesla.Angela 发表于 2018-5-21 03:40:18

模拟硬断不需要EPT。VT相关源码可以去参考INTEL的GITHUB。

我以前做过一个DEMO:http://www.m5home.com/bbs/thread-8758-1-1.html,你可以测试一下。

我已改行,对这些忘记得差不多了,详情自己研究吧,呵呵。

yimingqpa 发表于 2018-5-21 16:34:32

Tesla.Angela 发表于 2018-5-21 03:40
模拟硬断不需要EPT。VT相关源码可以去参考INTEL的GITHUB。

我以前做过一个DEMO:http://www.m5home.com/bb ...

VT和EPT已经摸的差不多了。
不知道大佬能否分享DEMO中部分代码给与参考?

Tesla.Angela 发表于 2018-5-21 17:02:20

yimingqpa 发表于 2018-5-21 16:34
VT和EPT已经摸的差不多了。
不知道大佬能否分享DEMO中部分代码给与参考?
源码链接:https://github.com/intel

书籍链接:https://software.intel.com/en-us/articles/intel-sdm

yimingqpa 发表于 2018-5-24 09:07:13

Tesla.Angela 发表于 2018-5-21 17:02
源码链接:https://github.com/intel

书籍链接:https://software.intel.com/en-us/articles/intel-sdm ...

谢谢大佬。

yimingqpa 发表于 2018-5-24 12:48:30

Tesla.Angela 发表于 2018-5-21 17:02
源码链接:https://github.com/intel

书籍链接:https://software.intel.com/en-us/articles/intel-sdm ...

大佬不过这套还是VT,不是硬断.....

woshidc523 发表于 2018-6-21 14:20:38

求楼主指点,新手入门~可以加我qq吗~【627948162】
页: [1]
查看完整版本: 探讨EPT硬断模拟