Windbg Локальная отладка ядра в файле .sys - PullRequest
0 голосов
/ 14 февраля 2019

Я делаю локальную отладку ядра на драйвере (файл .sys).я новичок в локальной отладке ядра и знал некоторые из отладки.но ситуация, с которой я имею дело, сбивает с толку.

У меня есть драйвер, который вызывается Python, и он запускается.Диск основан на требовании. Так что теперь я запускаю отладку локального ядра windbg.я выполнил команду "lm", чтобы увидеть загруженные модули, как показано ниже:

lkd> lm
start             end                 module name
fffff801`2ca0d000 fffff801`2d47c000   nt         (pdb symbols)   
          c:\symbols\ntkrnlmp.pdb\C710248A0CA3CAB08015A2B18AB495B41\ntkrnlmp.pdb

Unloaded modules:
fffff801`3f430000 fffff801`3f43e000   chipsec_hlpr.sys
fffff806`fdae0000 fffff806`fdba5000   RtsPer.sys
fffff806`fdbb0000 fffff806`fdbe6000   usbaudio.sys
fffff806`fdb70000 fffff806`fdba6000   usbaudio.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdb70000 fffff806`fdb80000   hiber_storport.sys
fffff801`4b8d0000 fffff801`4c41f000   hiber_iaStorA.sys
fffff801`4c420000 fffff801`4c43e000   hiber_dumpfve.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys
fffff806`fdaa0000 fffff806`fdb65000   RtsPer.sys

, но проблема в том, что это относится к разделу незагруженных модулей.я не знаю что делатьЯ не вижу точку входа.Я попробовал IDA, и увидел адрес ep.Затем я ставлю точку останова, как показано ниже.

lkd> bp chipsec_hlpr | DriverEntry, которая выдает ошибку типа

^ Операция не поддерживается текущей ошибкой отладчика в 'bp chipsec_hlpr | DriverEntry'

Также я попытался с адресом VA, который загружен с IDA, который приходит на 000000014000335B, следовательно попытался поставить точку останова.но безрезультатно.

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

Спасибо ..

1 Ответ

0 голосов
/ 14 февраля 2019

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

, вам может понадобитьсяиспользуйте виртуальную машину или другую физическую машину в качестве цели
и подключите windbg к цели для отладки ядра в реальном времени

, когда у вас есть сеанс реального времени, который вы можете остановить, когда ваш модуль загружается с использованием различных средств, таких как

sxe ibp; .reboot 

когда windbg прерывает первую начальную точку останова после перезагрузки
, вы можете загрузить символы
и установить точку останова, например bp mydriver!DriverEntry, и исследовать дальше оттуда.

...