Увеличить settimer или остановть (+)

Тема в разделе "WASM.RESEARCH", создана пользователем swh, 29 май 2006.

  1. swh

    swh New Member

    Публикаций:
    0
    Регистрация:
    29 май 2006
    Сообщения:
    2
    есть такая программа, при запуске она запускает таймер, Timeout она где то у себя генерит, он всё время разный, нужно либо как то остановить этот таймер, либо сделать оч. большую цыфру. Через это время Timeout программа закрывается.

    просто я этим занимаюсь всего неделю, пока опыта, очень мало подскажите как сделать, желательно пример, что типа тут поменя и на что.

    если делать KillTimer, то программа ругается, что типа таймер не тикает.

    Заранее благодарен.
    Код (Text):
    1. 004482E7  |. 6A 01       PUSH 1                         ; /TimerID = 1
    2. 004482E9  |. 8B43 28     MOV EAX,DWORD PTR DS:[EBX+28]  ; |
    3. 004482EC  |. 50          PUSH EAX                       ; |hWnd
    4. 004482ED  |. E8 7EE8FBFF CALL <JMP.&user32.KillTimer>   ; \KillTimer
    5. 004482F2  |. 8B73 24     MOV ESI,DWORD PTR DS:[EBX+24]
    6. 004482F5  |. 85F6        TEST ESI,ESI
    7. 004482F7  |. 74 40       JE SHORT   rest32.00448339
    8. 004482F9  |. 807B 34 00  CMP BYTE PTR DS:[EBX+34],0
    9. 004482FD  |. 74 3A       JE SHORT   rest32.00448339
    10. 004482FF  |. 66:837B 2E 00  CMP WORD PTR DS:[EBX+2E],0
    11. 00448304  |. 74 33       JE SHORT   rest32.00448339
    12. 00448306  |. 6A 00       PUSH 0                          ; /Timerproc = NULL
    13. 00448308  |. 56          PUSH ESI                        ; |Timeout
    14. 00448309  |. 6A 01       PUSH 1                          ; |TimerID = 1
    15. 0044830B  |. 8B43 28     MOV EAX,DWORD PTR DS:[EBX+28]   ; |
    16. 0044830E  |. 50          PUSH EAX                        ; |hWnd
    17. 0044830F  |. E8 BCE9FBFF CALL <JMP.&user32.SetTimer>     ; \SetTimer
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Код (Text):
    1. JE   SHORT rest32.00448339
    2. PUSH 0
    3. PUSH ESI
    4. PUSH 1
    5. MOV  EAX,DWORD PTR DS:[EBX+28]
    6. PUSH EAX




    заменить на


    Код (Text):
    1. NOP
    2. XOR  EAX,EAX
    3. PUSH EAX
    4. DEC  EAX
    5. PUSH EAX
    6. PUSH 1
    7. PUSH DWORD PTR DS:[EBX+28]
     
  3. swh

    swh New Member

    Публикаций:
    0
    Регистрация:
    29 май 2006
    Сообщения:
    2
    вот что получилось спасибо!!!!!
    Код (Text):
    1. 004482F9  |. 807B 34 00     CMP BYTE PTR DS:[EBX+34],0
    2. 004482FD  |. 74 3A          JE SHORT   rest32.00448339
    3. 004482FF  |. 66:837B 2E 00  CMP WORD PTR DS:[EBX+2E],0
    4. 00448304     90             NOP
    5. 00448305     33C0           XOR EAX,EAX
    6. 00448307     50             PUSH EAX
    7. 00448308     48             DEC EAX
    8. 00448309     50             PUSH EAX
    9. 0044830A     6A 01          PUSH 1
    10. 0044830C     FF73 28        PUSH DWORD PTR DS:[EBX+28]
    11. 0044830F  |. E8 BCE9FBFF    CALL <JMP.&user32.SetTimer>              ; \SetTimer
    12. 00448314  |. 85C0           TEST EAX,EAX
    13. 00448316  |. 75 21          JNZ SHORT   rest32.00448339
    14. 00448318  |. 8D55 FC        LEA EDX,DWORD PTR SS:[EBP-4]