Как разобрать несколько последних инструкций Native API в Windbg?

Я хочу разобрать несколько последних инструкций Native API в Windbg. Как мне это сделать?

Например, я нахожусь в режиме ядра в Windbg и хочу разобрать последние несколько инструкций API KiSystemService, как мне это сделать?

Так же, если есть способ посмотреть размер API, можно было бы просмотреть последнюю инструкцию.

u nt!KiSystemService

Дает мне около 10 строк кода на ассемблере.

u nt!KiSystemService L100

Это покажет мне больше кода подпрограммы System Service Dispatch. Но моя цель — просмотреть несколько последних инструкций.

Спасибо.


person Neon Flash    schedule 30.12.2011    source источник


Ответы (2)


uf nt!KiSystemService

попытаюсь разобрать только функцию.

person jcopenha    schedule 30.12.2011

на x86 .fnent покажет размер функции / количество параметров, которые она принимает / количество локальных переменных, размер пролога и смещение начала функции, если нет функции does not have chunks из-за оптимизации) вы можете просто начать дизассемблирование в (начальное смещение + размер - X)

lkd> .fnent nt!NtCreateProcessEx Запись функции отладчика 00ca5b70 для: (805c73ea) nt!NtCreateProcessEx | (805c7476) nt!PsCreateSystemProcess Точные совпадения: nt!NtCreateProcessEx =

OffStart: 000f03ea ProcSize: 0x86 Prologue: 0xc Params: 0n9 (0x24 байта) Locals: 0n7 (0x1c байт) Non-FPO

на x64 FPO_DATA is not available instead IMAGE_FUNCTIOn_ENTRY будет возвращено .fnent, вам может потребоваться просмотреть информацию об UnWind, чтобы получить подробную информацию.

person blabb    schedule 20.05.2014