Вы наверно встречали с кодом, где используется KeTickCount пожоже: mov eax,[ntoskrnl.exe!KeTickCount] mov [ebp-04h],eax L0001069B: mov eax,[ebp-04h] mov eax,[eax+04h] mov [L000111EC],eax mov ecx,[ebp-04h] mov ecx,[ecx] mov [L000111E8],ecx mov ecx,[ebp-04h] cmp eax,[ecx+08h] jz L000106BD pause ; SSE2 jmp L0001069B L000106BD: mov eax,[L00011180] cmp eax,FFFFFFFEh jz L000106CD push eax Кто может рассказать что за код такой ? и еще похожий: call [ntoskrnl.exe!KeQueryTimeIncremen mov edx,[L000111E8] mov edi,[L000111EC] xor ecx,ecx sub edx,[L00011190] push ecx push eax sbb edi,[L00011194] mov [L000111E0],eax mov [L000111E4],ecx push edi push edx call jmp_ntoskrnl.exe!_allmul test edx,edx pop edi jl L00010693 jg L00010673 cmp eax,00989680h jbe L00010693 Не знаю зачем использовать KeTickCount и как изменяется это значение. Расскажите пожалуйста.
KeTickCount - в этой переменной хранится число тиков с начала запуска системы. Один тик - 64мс(KeTickCount увеличивается на это значение каждый тик). Это происходит из прерывания(KeUpdateSystemTime()). С этим кодесом не встречались. В XPSP2 такого нет. Ядро в студию, ну или версия какая ?
Как я знаю от кода, то - этот код используется для ожидания течения некоторого промежутка времени. Но какие - и сколько не знаю.