首页
社区
课程
招聘
[旧帖] OD如何跟踪TimeProc 0.00雪花
发表于: 2012-2-24 14:55 7030

[旧帖] OD如何跟踪TimeProc 0.00雪花

2012-2-24 14:55
7030
我在DLL 的SetTimer看到第一个push为0,第2个为时间,第3个为ID,第4个为句柄
,我该如何找到SetTimer调用的这个过程地址啊?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 983
活跃值: (967)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2012-3-13 00:18
0
雪    币: 7
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也想学习下。
2012-3-13 20:21
0
雪    币: 10001
活跃值: (158)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
直接jmp...
2012-3-21 12:09
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
SetTimer第一次个参数那里下断不就行了吗?
2012-4-22 03:57
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=tomken;1052659]http://bbs.pediy.com/showthread.php?p=26218[/QUOTE]

刚看了,这个帖子已经关闭不能回复,
我这里想补充一下自己的看法,不一定对。
或许对楼主有用。

根据3楼的说法,
  “但是SetTimer的时候 TIMEPORC 是 0。”
TIMEPORC 是 0 是正常,默认回调是0,子定义的回调就是自己的回调地址。

4楼说的两种方法都只是只能拦截收到timer的event消息信息,
但不能调试原回调过程

如果timer里面的代码过程需要调试跟踪,且时钟间隔很短(比如毫秒级或者几秒)情况下,
可以hook下写个killtimer(),否则在timer里下断会死锁。(很有可能,因为这是timer的回调不像我们在主线程下断)
2012-4-22 05:24
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
SetTimer第4个参数 那个地址下断点
2012-4-23 04:01
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
2楼不是解决了吗?为什么 还不结贴?
2012-4-27 02:41
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
timer是不会死锁的,windows会把多个timer消息merge成一个,就是为了处理timerproc万一时间过长的情况,

断点可以在2个地方下,
1个是窗口消息处理函数里,看看wm_timer消息,
2就是在直接timerproc下断点。
2012-4-27 10:03
0
雪    币: 576
活跃值: (1495)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
10
找到mfc42.dll
搜索命令cmp dword ptr[ebp+c],360

73D31A22 >  8BFF            MOV EDI,EDI                              ; 下条件断点[esp+8]==0x113
73D31A24    55              PUSH EBP
73D31A25    8BEC            MOV EBP,ESP
73D31A27    817D 0C 6003000>CMP DWORD PTR SS:[EBP+C],360

F9 运行。
跟进73D31A53    E8 1C000000     CALL mfc42.#1109

73D31FD1    FFD3            CALL EBX                                 ; F7  到达目标
2012-4-27 10:17
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
11
好像是这样~ 受教了! 谢谢ronging兄指点
2012-4-27 11:36
0
游客
登录 | 注册 方可回帖
返回
//