mskeng
October 11th, 2003, 02:29
Well, I have putted a break point on SetTimer api, and ollydbg break on this import, well, I have analized the code, and I have see the routine that set the timer. this is the code:
10003C40 >/$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
10003C44 |. 57 PUSH EDI
10003C45 |. 25 FFFF0000 AND EAX,0FFFF
10003C4A |. 33FF XOR EDI,EDI
10003C4C |. 8D0480 LEA EAX,DWORD PTR DS:[EAX+EAX*4]
10003C4F |. C1E0 05 SHL EAX,5
10003C52 |. 8B5408 44 MOV EDX,DWORD PTR DS:[EAX+ECX+44]
10003C56 |. 8B41 20 MOV EAX,DWORD PTR DS:[ECX+20]
10003C59 |. 85C0 TEST EAX,EAX
10003C5B |. 7E 3E JLE SHORT asio2ks.10003C9B
10003C5D |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
10003C61 |. 53 PUSH EBX
10003C62 |. 56 PUSH ESI
10003C63 |. 8D3400 LEA ESI,DWORD PTR DS:[EAX+EAX]
10003C66 >|> 8B99 14050000 /MOV EBX,DWORD PTR DS:[ECX+514]
10003C6C |. 33C0 |XOR EAX,EAX
10003C6E |. 85DB |TEST EBX,EBX
10003C70 |. 7E 1C |JLE SHORT asio2ks.10003C8E
10003C72 |> 8B99 78040000 |/MOV EBX,DWORD PTR DS:[ECX+478]
10003C78 |. 83C2 02 ||ADD EDX,2
10003C7B |. 40 ||INC EAX
10003C7C |. 66:8B1C33 ||MOV BX,WORD PTR DS:[EBX+ESI]<<<<-------se metto nop nop nop nop sull'indirizzo 1003c7c il beep non si sente, ma dopo dieci min si sente un vuoto (si stoppa l'audio!) per un secondo, se invece annullo tutto il ciclo che va da 1003c72 a 1003c80 mi si sente un rumore strano che non è proprio un beep ma quasi!
10003C80 |. 66:895A FE ||MOV WORD PTR DS:[EDX-2],BX
10003C84 |. 8B99 14050000 ||MOV EBX,DWORD PTR DS:[ECX+514]
10003C8A |. 3BC3 ||CMP EAX,EBX
10003C8C |.^7C E4 |\JL SHORT asio2ks.10003C72
10003C8E |> 8B41 20 |MOV EAX,DWORD PTR DS:[ECX+20]
10003C91 |. 83C6 02 |ADD ESI,2
10003C94 |. 47 |INC EDI
10003C95 |. 3BF8 |CMP EDI,EAX
10003C97 |.^7C CD \JL SHORT asio2ks.10003C66
10003C99 |. 5E POP ESI
10003C9A |. 5B POP EBX
10003C9B |> 5F POP EDI
10003C9C \. C2 0800 RETN 8
10003c9d Nop
Well, that I can do for bypassing this procedure, what breakpoint that I can put in my code for test if this routine Only Set Timer, or Do any other operation??
The program entry point is: 10003C7C, well, but the routine start at 10003C40!!
If i jmp the complete routine:
10003c40 jmp 0003c9d the program host of cpl file, crash after 10 minute!
What can i do for bypassing the Timer, but non create a crash of the program Host, after 10 minute???
Tnks a lot, fo space that you are give me for posting this question,
You are My Big FrendzZ!
Peace!
