Я пытаюсь настроить среду Windows VM для отладки драйвера ядра.
Я создал образец драйвера ядра в Visual Studio 2017. File-> Новый проект-> Драйвер режима ядра ( базовый проект ; только для тестирования - автоматически сгенерированный макрос трассировки, необходимые процедуры и т. Д.) И его необходимо протестировать на целевой машине .
Мои шаги ( целевая машина ):
- Установка Windows 10 на виртуальную машину (VirtualBox);
- Включите тестовый режим и установите BCDEdit как локальный ;
- Установка WDK ;
- Загрузка Загрузчик OSR ;
- Копировать файлы после сборки на виртуальную машину (C: \ DriverTest \ TestKernelDriver2 \; .cer , .inf , .pdb , .sys );
- Создание папки traces ;C: \ DriverTest \ TestKernelDriver2 \ traces \
- Установить сертификат - TestKernelDriver2.sys ;( Режим знака : Тестовый знак )
- Запуск Загрузчик драйверов OSR , выберите драйвер, нажмите Регистрация службы ( Успех ).
Запуск tracelog с параметрами (GUID был сгенерирован шаблонами; нет с помощью Инструменты-> Создать GUID ) - success :
tracelog -start TestKernelDriver2 -guid #0f4fbb98-1569-495b-88d1-f654b1e2d68e -f C:\DriverTest\TestKernelDriver2\traces\trace.etl -flag 2 -level 0xFFFF
Проверьте C: \ DriverTest \ TestKernelDriver2 \ traces \ trace.etl;(существует - 64 КБ размер)
- Загрузчик драйверов OSR: нажмите Запуск службы ( ошибка ).Сообщение об ошибке: Указанная процедура не найдена.
Стоп tracelog - success :
tracelog -stop TestKernelDriver2
Открыть Просмотр событий . Журналы Windows-> Система .Последняя ошибка:
The TestKernelDriver2 service failed to start due to the following error:
The specified procedure could not be found.
Details:
EventData
param1 TestKernelDriver2
param2 %%127
54006500730074004B00650072006E0065006C0044007200690076006500720032000000
- Открыть C: \ DriverTest \ TestKernelDriver2 \ traces \ trace.etl через Просмотр событий и не вижу никаких журналов.
Как я могу узнать, что процедура была пропущена?
Я пытался исследовать ее с помощью Зависимость Уокер и обнаружил, что некоторые .sys файлы отсутствуют ( WppRecorder.sys , WdfLdr.sys , msrpc.sys , EXT-МС-WIN-* +1134 * ### * +1135 * .DLL * * тысяча сто тридцать шесть).Эти поля находятся в C: \ Windows \ System32 \ drivers.Я скопировал файлы в C: \ Windows \ System32 и Dependency Walker успокоился.Что насчет EXT-MS-WIN - *. DLL - я прочитал в этой теме , что эти файлы могут быть пропущены.
Благодаря @ magicandre1981.Я установил свой драйвер через PnPUtil .Но теперь я вижу это в списке команды pnputil / enum-drivers .
![enter image description here](https://i.stack.imgur.com/xJwsc.png)
Но когда я запускаю следующеекоманды в WinDbg , я не вижу своего драйвера в списке:
!load wdfkd.dll
!wdfkd.wdfldr
![enter image description here](https://i.stack.imgur.com/vqaT9.png)
Я пытаюсьвыполните шаги сеанса 1 из этого руководства Microsoft .