首页
社区
课程
招聘
[求助]如何获取timer的列表?
发表于: 2009-2-24 21:32 3513

[求助]如何获取timer的列表?

2009-2-24 21:32
3513
已运行的程序中有多个定时器在运行,用什么方法来枚举正在运行的timer信息?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
2
settimer 函数 下断点 查查timer的id。更根据id找到各自的消息处理分支...
2009-2-24 22:33
0
雪    币: 198
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
中断跟终程序,发现有5个timer在同时运行,但都调用call    00455158
004CDB37   E81C76F8FF             call    00455158

  00455158  /$  3A50 38       CMP DL,BYTE PTR DS:[EAX+38]
  0045515B  |.  74 08         JE SHORT un_autox.00455165
  0045515D  |.  8850 38       MOV BYTE PTR DS:[EAX+38],DL
  00455160  |.  E8 67FFFFFF   CALL un_autox.004550CC

    004550CC  /$  55            PUSH EBP
    004550CD  |.  8BEC          MOV EBP,ESP
    004550CF  |.  6A 00         PUSH 0
    004550D1  |.  53            PUSH EBX
    004550D2  |.  56            PUSH ESI
    004550D3  |.  8BD8          MOV EBX,EAX
    004550D5  |.  33C0          XOR EAX,EAX
    004550D7  |.  55            PUSH EBP
    004550D8  |.  68 4B514500   PUSH un_autox.0045514B
    004550DD  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004550E0  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004550E3  |.  6A 01         PUSH 1                                   ; /TimerID = 1
    004550E5  |.  8B43 28       MOV EAX,DWORD PTR DS:[EBX+28]            ; |
    004550E8  |.  50            PUSH EAX                                 ; |hWnd
    004550E9  |.  E8 A223FBFF   CALL <JMP.&user32.KillTimer>             ; \KillTimer
    004550EE  |.  8B73 24       MOV ESI,DWORD PTR DS:[EBX+24]
    004550F1  |.  85F6          TEST ESI,ESI
    004550F3  |.  74 40         JE SHORT un_autox.00455135
    004550F5  |.  807B 38 00    CMP BYTE PTR DS:[EBX+38],0
    004550F9  |.  74 3A         JE SHORT un_autox.00455135
    004550FB  |.  66:837B 32 00 CMP WORD PTR DS:[EBX+32],0
    00455100  |.  74 33         JE SHORT un_autox.00455135
    00455102  |.  6A 00         PUSH 0                                   ; /Timerproc = NULL
    00455104  |.  56            PUSH ESI                                 ; |Timeout
    00455105  |.  6A 01         PUSH 1                                   ; |TimerID = 1
    00455107  |.  8B43 28       MOV EAX,DWORD PTR DS:[EBX+28]            ; |
    0045510A  |.  50            PUSH EAX                                 ; |hWnd
    0045510B  |.  E8 D824FBFF   CALL <JMP.&user32.SetTimer>              ; \SetTimer
    00455110  |.  85C0          TEST EAX,EAX
    00455112  |.  75 21         JNZ SHORT un_autox.00455135
    00455114  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    00455117  |.  A1 CC254E00   MOV EAX,DWORD PTR DS:[4E25CC]
    0045511C  |.  E8 0F0BFBFF   CALL un_autox.00405C30
    00455121  |.  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
    00455124  |.  B2 01         MOV DL,1
    00455126  |.  A1 E4F54000   MOV EAX,DWORD PTR DS:[40F5E4]
    0045512B  |.  E8 3C6CFBFF   CALL un_autox.0040BD6C
    00455130  |.  E8 6BE5FAFF   CALL un_autox.004036A0
    00455135  |>  33C0          XOR EAX,EAX
    00455137  |.  5A            POP EDX
    00455138  |.  59            POP ECX
    00455139  |.  59            POP ECX
    0045513A  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    0045513D  |.  68 52514500   PUSH un_autox.00455152
    00455142  |>  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    00455145  |.  E8 A2EAFAFF   CALL un_autox.00403BEC
    0045514A  \.  C3            RETN

  00455165  \>  C3            RETN

004CDB3C   8B154C254E00           mov     edx, [$004E254C]
.....................

   如何看5个timer的id数值?为何先killtimer,再settimer?
2009-2-25 21:06
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
蓝不懂。。。。。。。。。。
2009-2-25 21:10
0
游客
登录 | 注册 方可回帖
返回
//