首页
社区
课程
招聘
[求助]用SEH清除硬件断点的问题
发表于: 2010-11-16 12:19 7054

[求助]用SEH清除硬件断点的问题

2010-11-16 12:19
7054
最近看<加密与解密> SEH那章

按照书上11.3 异常处理回调函数那个例子的意思 是可以利用SEH回调函数设置异常的CONTEXT 从而清除掉硬件断点的

可是在我试验这个例子的时候 设置了硬件断点 执行完回调函数后却没有被清除掉 不知道是什么原因 希望大虾不吝赐教

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
2
看错了
2010-11-16 12:24
0
雪    币: 678
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
把dr7的低八位全部清零不就清除硬件断点了么?
2010-11-16 13:59
0
雪    币: 678
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
对了,记得SetThreadContext
2010-11-16 14:01
0
雪    币: 73
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢回复

可能是我没有说清楚

书上的例子时这样的: 当回调函数执行完后, 应该是恢复之前压入栈中的CONTEXT继续执行, 此时的CONTEXT中iDr0~iDr3已经在回调函数中清零了, 这样可以达到清除硬件断点的目的.

但是我在用OD调试这个例子的时候, 尝试着设置了一些硬件断点, 当回调函数执行完后, 硬断并没有被清除, 所以我很疑惑.

试过了用原本OD(无插件), 还是不行.

附上书中的例子
11.3 异常处理回调函数.rar
上传的附件:
2010-11-16 16:13
0
雪    币: 171
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看看代码咋写的先
2010-11-22 04:29
0
游客
登录 | 注册 方可回帖
返回
//