首页
社区
课程
招聘
[求助]对自身进程下硬件断点
发表于: 2012-3-4 17:13 4717

[求助]对自身进程下硬件断点

2012-3-4 17:13
4717
对A进程注入dll,通过int3中断进入异常接口,修改dr0——dr7值下硬件断点,设置单步返回,进入单步再次下硬件断点后返回,通过此种方式下的硬件断点都不能起作用,没有进入异常接口。难道需要在内核驱动中下硬断???

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
下int3断点和内存断点都能正常进入异常接口,就是硬件断点搞不出来。
2012-3-4 17:15
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
3
硬件断点是基于线程的。如果你在远程注入的线程里设置硬件断点,而触发该断点的线程却不是你注入的线程,那么异常不会发生!
2012-3-4 17:22
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
难道要我枚举线程,对每个线程设置调试寄存器?
我注入的dll有窗口,这个窗口应该是和进程主线程在同一线程吧???
2012-3-4 17:24
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
测试了一下,用注入的dll触发硬断可以成功,看来必须给每一个线程修改调试寄存器了。但是后面新建的线程如何处理???
2012-3-4 17:31
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
6
监控线程创建事件呗,或者需要长期维护一个线程列表。OD就这么做的。
2012-3-4 17:42
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
奇怪了,设置的硬断能工作了, 只是产生异常的时候查看dr6的值是0,不能确定是哪个dr产生的中断。
2012-3-4 18:32
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
8
好好审察一下程序吧。。。。。。。。。。。。
2012-3-4 18:54
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
程序有啥问题????没发现啊。
2012-3-4 19:08
0
游客
登录 | 注册 方可回帖
返回
//