能力值:
( 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
....
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
后面的代码应该只是说明哪个对象变为已通知状态,实际变为通知状态的对象的代码已经在调用WaitForMultipleObjects 中就被执行了,目前面临的问题就是捕捉变为通知状态的对象的对应的被执行的代码
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
哦我明白了,你的意思想找到使对象受信的代码,这光用OD我也不知道,3:
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
那您有什么其他辅助方法能得到吗?
|
能力值:
( LV13,RANK:240 )
|
-
-
6 楼
bp setevent看看
|
能力值:
( LV6,RANK:93 )
|
-
-
7 楼
找arrHanlde对应的变量,对其下写入断点
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
不一定是setEvent吧,比如说线程对像的话,线程对象退出事件就会受信,还有很多这种情况
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不在同一次调试中,arrHanlde对应的变量值是不同的,但每次调试,只有程序走到WaitForMultipleObjectsEx函数时才能看到相应的arrHanlde变量,但此时已经写完了
|
能力值:
( LV6,RANK:93 )
|
-
-
10 楼
听起来arrHanlde应该是局部变量,类似ebp+xx或者esp+之类的,可以在该call函数比较靠前的位置下断点
btw:还是贴代码吧,光正向讨论有局限性。
|
|
|