Приложение 1. Применение проверки подписи Kernel-Mode в режиме отладки ядра

Применение проверки подписи Kernel-Mode в режиме отладки ядра

Фрагмент статьиУстановка неподписаного драйвера во время разработки и тестирования:

В некоторых случаях разработчикам может потребоваться включить принудительное применение подписи во время загрузки при присоединении отладчика ядра. Например, стек драйверов содержит неподписанный драйвер (например, драйвер фильтра), который не загружается, что может сделать весь стек недействительным. Так как присоединение отладчика позволяет загрузить неподписанный драйвер, проблема исчезает сразу после подключения отладчика. Отладка этого типа проблемы может быть сложной.

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

HKLM\SYSTEM\CurrentControlSet\Control\CI\DebugFlags

Это значение реестра относится к типу REG_DWORD и может быть присвоено значение на основе побитового или одного или нескольких следующих флагов.

0x00000001

Это значение флага настраивает ядро для прерывания в отладчике, если драйвер не подписан. Затем разработчик или тестировщик может загрузить неподписанный драйвер, введя g в командной строке отладчика.

0x00000010

Это значение флага настраивает ядро так, чтобы игнорировать присутствие отладчика и всегда блокировать загрузку неподписаного драйвера.

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

Примечание Это значение реестра не существует в реестре по умолчанию. Для отладки проверки подписи в режиме ядра необходимо создать значение .