首页
社区
课程
招聘
[求助] [ game ] 近期遇到的一个未解决的 OD&CE 硬件断点 调试问题
发表于: 2014-12-16 10:15 20913

[求助] [ game ] 近期遇到的一个未解决的 OD&CE 硬件断点 调试问题

2014-12-16 10:15
20913
环境:Win7x64、TP、JFZR
工具:OD,CE

情况1:调试权限已处理,CE 的VEH模式附加失败,恢复ntdll.LdrInitializeThunk的hook后附加成功,INT3断点成功,下硬断一切正常,触发硬断后崩溃(或主动退出?不明。。)。

情况2:调试权限已处理,OD附加成功,INT3断点成功,下硬断一切正常 硬断触发后退出。

目标程序 hook ntdll.KiUserExceptionDispatcher和ntdll.ZwRaiseException。恢复后崩溃。
(应该是目标程序有对自己设置异常,自己处理吧)

但是我觉得应该和ntdll.KiUserExceptionDispatcher和ntdll.ZwRaiseException的hook无关。如果是OD调试器的话,只要调试器处理了硬件中断,就不应该走入目标进程的异常处理流程不是吗?

为何会在触发硬断时程序崩溃亦或者是主动退出 硬断没触发的时候,即使断点一直存在也是正常的。但硬断触发的瞬间,程序就退了
2014/12/17 16:45分
最新的情况是硬件断点以及硬断单步,换了个OD可以触发硬断可以单步走,但是F9继续起来程序就崩溃了,F9之前清除与不清除DRX,只要F9继续运行了 都会没有提示的崩溃

不求一定解决,只求解释

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

收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 55
活跃值: (531)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
tp的那个线程也已经处理了,与检测是无关的,倒像是我自己硬断触发了程序的退出。

T,T木有人回复呀
2014-12-16 10:32
0
雪    币: 200
活跃值: (417)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
因为你把报信的人砍死了,信收不到老大就选择撕票鸟
2014-12-16 19:20
0
雪    币: 157
活跃值: (476)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
什么都不说
NtSetInformationThread
2014-12-16 19:48
1
雪    币: 55
活跃值: (531)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
如果是这个,INT3断点又为什么可以呢?
2014-12-16 20:01
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
int3 断点你只是下了断点还是断点也断下来了?
2014-12-17 16:13
0
雪    币: 55
活跃值: (531)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
INT3是肯定断下了,问了几个已经解决的人,均说是OD的BUG,或者OD多线程BUG的问题。
而且现在的问题貌似是触发硬断没有问题,一旦F9继续运行(甚至清除了硬件断点后继续运行)都崩溃,INT3就不会。

比如:
【话唠】⊙ω⊙ XX 10:39:37
@大肚子 你系统是WIN7以上?

【话唠】⊙ω⊙ 天XX   10:40:11
OD的BUG

【话唠】⊙ω⊙ 天XX   10:40:24
不是游戏保护的问题

【话唠】⊙ω⊙ 天XX   10:40:28
是OD的BUG

【话唠】⊙ω⊙ 天XX   10:40:33
多线程的问题

【话唠】⊙ω⊙ 天XX  10:41:23
可以啊  多线程设置DRX 后

【话唠】⊙ω⊙ 天XX 10:41:52
触发中断 清空DRX后 部分线程 并没清除DRX

【话唠】⊙ω⊙ 天XX   10:42:08
触发DRX后 OD不认识那个DRX异常导致的

但是我看不懂这些话的意思。。。信息有点少。 还有另外几个人也是说的OD BUG。。但是都不愿意说。
不是很明白 - 部分线程没清除DRX - 是怎么产生的,还没有验证过。现在正在上班,回家了再去看看。
2014-12-17 16:37
0
雪    币: 74
活跃值: (248)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如果按这段对话的理解就是  OD对全线程设置了断点  但恢复的时候部分线程没被恢复  结果那部分被断下来 但OD没吧它识别为自身下的断点  然后吧锅丢给系统处理了?  记得OD有个选项是接管所有异常?
不过很早的时候那啥啥刚开始对硬断下手的时候恢复KiUserExceptionDispatcher就可以正常工作的.....
2014-12-20 16:47
0
雪    币: 1935
活跃值: (4180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
说OD bug 有点牵强,只不过作者懒了下,只修改了标记,没清掉 dr1-dr3 的地址,然后有线程一直GetContextThread查看,所以设置过f9 后直接被发现。

什么没清干净导致od 不认识触发的异常不存在,否则调试任何多线程程序下过硬件断点,f9后那不都崩溃了,自己调试下就看明白了
2014-12-20 20:37
0
雪    币: 55
活跃值: (531)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
感谢回答,我还一直以为是TP做了一些特殊的处理 导致某些线程无法清除调试寄存器照理说OD能设置就一定能清除,如果不能设置那么自然也就不会存在无法清除的BUG,所以我觉得你的回答也是比较精确的,但有一个问题。

为什么下断点后不触发这个断点也不会被发现?那个时间段里面检测不出来吗。。(即使下断半小时不触发都是没事的。)
听一个朋友说,因为GetContextThread在线程不是suspend的状态是取不到值的,MSDN也是这样进行描述的,所以我的朋友和认为是因为这个原因在运行过程中下硬断不会被检测。但我的理解是 ODF9恢复执行以后,线程不是又处于运行状态了。一样Get不出来才对。。
(还是因为各条线程恢复执行的先后顺序缘故?检测线程先于其它线程恢复执行了)
2014-12-20 22:08
0
雪    币: 44
活跃值: (186)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
LZ是否已经成功破了某P
2014-12-20 22:41
0
雪    币: 1935
活跃值: (4180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
sorry 误导楼主了,刚才仔细看了回复,自己调试了下

OD确实是只清理了当前断下的线程的硬件断点,那么如果别的线程也访问这个内存,确实会出现OD不处理异常导致异常抛给了这个线程,于是造成崩溃

我只测试了硬件执行断点,没测试硬件内存访问断点,非常抱歉。
2014-12-21 01:09
0
雪    币: 376
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mark 看楼主怎么处理了
2014-12-21 08:32
0
雪    币: 234
活跃值: (214)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
14
硬件断点会被检测 TP有主动设置硬件断点来和KiUserExceptionDispatcher通讯 一旦恢复TP的钩子 通讯中断 进程退出 还没找到在哪里设置的 本进程好像没有调用过ZwSetContextThread 怀疑别的进程或者R0里操作的 下面准备直接勾SSDT 只放行OD操作 应该可以
2015-1-2 00:35
0
雪    币: 49
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
硬件断点被占坑。。
2015-1-3 16:49
0
雪    币: 273
活跃值: (517)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
楼主解决这问题了吗
2015-1-19 10:58
0
雪    币: 55
活跃值: (531)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
17
没有。。。。还是有空自己去研究吧,别人给你的始终都是意见,或许搭边,或许不搭边。我现在已经暂停了。暂时不搞了。 有很多其他事情要忙。
2015-1-19 14:31
0
雪    币: 44
活跃值: (186)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
把贴顶以呀大牛门
2015-3-27 21:16
0
雪    币: 4997
活跃值: (2430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
64调试权限怎么处理求指导
2015-3-27 21:38
0
雪    币: 64
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
20
您好 我也在研究*P 愿意一起研究吗?QQ399272302
2015-9-15 10:12
0
雪    币: 4997
活跃值: (2430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
请问楼主硬段的问题解决了吗?
2015-11-6 15:16
0
雪    币: 377
活跃值: (432)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
22
likecrack 什么都不说 NtSetInformationThread
谢谢大佬,确实是这个东西
2019-7-19 20:51
0
游客
登录 | 注册 方可回帖
返回
//