首页
社区
课程
招聘
[求助]OD中怎样寻找WaitForMultipleObjectsEx函数中HANDLE参数对应代码
发表于: 2013-7-24 16:41 6929

[求助]OD中怎样寻找WaitForMultipleObjectsEx函数中HANDLE参数对应代码

2013-7-24 16:41
6929
用OD调试时,走到WaitForMultipleObjectsEx函数后,怎样根据函数中const HANDLE* 参数中承载的事件号,找到该事件对应的代码?请前辈们赐教,非常感谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 342
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
WaitForMultipleObjectEx 他后面不就是处理的代码吗
DWORD dwRet = WaitForMultipleObjects(2,arrHanlde,FALSE,INFINITE);
       switch(dwRet)
       {
       case WAIT_OBJECT_0+0:
       //handle
       case WAIT_OBJECT_0+1
     ....
2013-7-24 16:55
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
后面的代码应该只是说明哪个对象变为已通知状态,实际变为通知状态的对象的代码已经在调用WaitForMultipleObjects 中就被执行了,目前面临的问题就是捕捉变为通知状态的对象的对应的被执行的代码
2013-7-24 17:25
0
雪    币: 342
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哦我明白了,你的意思想找到使对象受信的代码,这光用OD我也不知道,3:
2013-7-24 17:29
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
那您有什么其他辅助方法能得到吗?
2013-7-25 15:21
0
雪    币: 1392
活跃值: (5142)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
6
bp setevent看看
2013-7-25 15:39
0
雪    币: 3529
活跃值: (1857)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
7
找arrHanlde对应的变量,对其下写入断点
2013-7-25 15:51
0
雪    币: 342
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不一定是setEvent吧,比如说线程对像的话,线程对象退出事件就会受信,还有很多这种情况
2013-7-25 15:58
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不在同一次调试中,arrHanlde对应的变量值是不同的,但每次调试,只有程序走到WaitForMultipleObjectsEx函数时才能看到相应的arrHanlde变量,但此时已经写完了
2013-7-25 16:39
0
雪    币: 3529
活跃值: (1857)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
10
听起来arrHanlde应该是局部变量,类似ebp+xx或者esp+之类的,可以在该call函数比较靠前的位置下断点

btw:还是贴代码吧,光正向讨论有局限性。
2013-7-25 18:24
0
游客
登录 | 注册 方可回帖
返回
//