|
一条线程中有四个DRX可以设置硬断,如果都被占坑了这就玩不下去了。
经过查阅和各种搜索后,发现有一篇 无限硬件断点 贴子可以参考。
楼主百般研究上面源码后发现, 那篇贴子技术对X86系统非常实用,然而在X64系统下无法应用起来。
后来和众多网友探讨与自行研究后发现,X64系统可以用EPT进行模拟硬断。
其原理是在设置、获取、删除硬断时使用一条链表对断点进行存储,在设置时改变其内存属性进入 EPT violation,在 MTF VM-exit时对断点地址注入int 1产生硬断异常。
再到后来编码与调试中楼主发现,注入int 1异常这项操作非常不稳定,要么卡死在系统 模块里要么崩在某地址上,百思不得姐特抱着学习的态度发贴请教各位大虾、高手、大拿、大手子。 |
|