-
-
[讨论]基于硬件断点的调试器
-
发表于:
2013-1-13 12:34
7911
-
设计初衷:
od菊花太大,太容易被爆菊
核心技术:
利用cpu原生调试寄存器DRx,来实现单步调试,断点调试
好处:只隐藏好DRx寄存器,调试ring3程序基本处于无敌状态(隐藏DRx寄存器的方法
:只要在驱动里面勾住SetContextThread和GetContextThread就基本无法检测)
坏处:设置断点有限(其他目前没发现)(窗口界面做得不漂亮的话,可能没人用)
抗anti:只要不是带驱动的ring3程序,基本无法攻击调试器(当然,找窗口,搜索进程神马的就算了)
(读内存的话,一定要在驱动里面直接读物理内存,基本就不可能被发现)
实现难度:简单
实现论文
http://bbs.pediy.com/showthread.php?t=107515&highlight=%E8%B0%83%E8%AF%95+%E8%AF%95%E5%AF%84+%E5%AF%84%E5%AD%98+%E5%AD%98%E5%99%A8+%E5%99%A8
后记,上面吹牛成分很小(
还是有吹牛的)
调试器最重要的一点,一定要界面漂亮,支持插件,od是模范啊,IDA是反例~
其实还有一种更加牛的调试器,基于 页中断 的调试器,不过很复杂,而且定位自己的断点时有点困难
哦,还有最牛的调试器, "滴水调试器"类型的
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!