Использование KeTickCount в Асм.

Тема в разделе "WASM.BEGINNERS", создана пользователем xichphatquy, 13 ноя 2008.

  1. xichphatquy

    xichphatquy New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2008
    Сообщения:
    3
    Вы наверно встречали с кодом, где используется 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 и как изменяется это значение.
    Расскажите пожалуйста.
     
  2. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    KeTickCount - в этой переменной хранится число тиков с начала запуска системы. Один тик - 64мс(KeTickCount увеличивается на это значение каждый тик). Это происходит из прерывания(KeUpdateSystemTime()).
    С этим кодесом не встречались. В XPSP2 такого нет. Ядро в студию, ну или версия какая ?
     
  3. xichphatquy

    xichphatquy New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2008
    Сообщения:
    3
    Как я знаю от кода, то - этот код используется для ожидания течения некоторого промежутка времени. Но какие - и сколько не знаю.
     
  4. xichphatquy

    xichphatquy New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2008
    Сообщения:
    3
    Вижу что этот код вызывается по какому - то Kernel mode Function, но не знаю какой ?