Отладка WinLogon
WinLogon — это процесс в пользовательском режиме, который обрабатывает задачу входа интерактивных пользователей в систему и выхода из системы, а также все экземпляры ctrl+ALT+DELETE.
Управление NTSD из отладчика ядра
Самый простой способ отладки WinLogon — использовать NTSD и управлять им из отладчика ядра.
Включение отладки WinLogon
Так как вы будете перенаправлять выходные данные отладчика пользовательского режима в отладчик ядра, необходимо настроить подключение отладки ядра. См. статью Настройка отладки.
Чтобы подключить отладчик к WinLogon, необходимо пройти через реестр, чтобы процесс отлаживаться с момента его запуска. Чтобы настроить отладку WinLogon, задайте дляHKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WinLogon.EXE\Debugger значение:
ntsd -d -x -g
Параметр -d передает управление отладчику ядра. Параметр -x приводит к тому, что отладчик фиксирует нарушения доступа как исключения второго шанса. Параметр -g приводит к запуску процесса WinLogon после вложения. Не добавляйте -g , если вы хотите начать отладку до начала Winlogon.exe (например, если вы хотите задать начальную точку останова).
Кроме того, для параметра GlobalFlag в разделе winlogon.exe следует задать значение REG_DWORD "0x000400F0". Это задает проверку кучи и FLG_ENABLE_KDEBUG_SYMBOL_LOAD. Однако, так как этот второй флаг влияет только на отладчик ядра, символы также должны быть скопированы на целевой компьютер перед запуском отладчика.
Чтобы изменение реестра вступило в силу, требуется перезагрузка.
Выполнение отладки
После следующей перезагрузки отладчик автоматически войдет в WinLogon.
Сведения о том, как продолжить, см. в разделе Управление отладчиком User-Mode из отладчика ядра .
Необходимо задать путь к символам для расположения на хост-компьютере или в другом расположении в сети. При отладке WinLogon проверка подлинности сети на целевом компьютере будет работать неправильно.