Ctrl + Alt + Удалить номер сообщения WM - PullRequest
0 голосов
/ 20 февраля 2012

Кто-нибудь знает, что за процедура Windows при нажатии клавиш Ctrl + Alt + Del ?Я спрашиваю о номере сообщения процедуры Windows, возвращаемом при нажатии этих клавиш.Я хотел бы знать номер на всех возможных версиях Windows (W7, XP, Vista, ...).

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

Winlogon.exe перехватывает последовательность защищенного внимания (SAS), которая называется CTRL-ALT-DEL.Это обычная горячая клавиша, зарегистрированная с RegisterHotKey, но поскольку Winlogon получает ее первым, вы не можете украсть или отключить ее на любом языке программирования.

Когда Winlogon получает SAS, он запускает LogonUI.exe .LogonUI - это процесс, который отображает «плитки», те квадраты, которые вы видите на экране входа в систему.Каждый квадрат является реализацией провайдера учетных данных .

Поставщик учетных данных собирает ваши учетные данные, часто имя и пароль.Он отправляет эту информацию в Winlogon в виде непрозрачного массива байтов вместе с именем пакета аутентификации .

Пакет аутентификации знает, как разобраться в этом массиве байтов.Я буду использовать эту информацию для входа в систему, возможно, получая билет Kerberos или проверяя ваш пароль снова сохраненного хэша.Если все проверено, он предоставит WinLonon TOKEN, представляющий вашего пользователя.

Почти готово.

Winlogon создает новую Window Station с Рабочий стол с именем «По умолчанию».Я создам процесс, определяемый ключом реестра Userinit , обычно userinit.exe (если ваш компьютер не является частью ботнета;).Этот процесс выполняется с токеном из пакета Authentication.

Userinit выполняет некоторые задачи, такие как создание вашего профиля, если это ваш первый вход в систему.Затем он запустит вашу оболочку, обычно Explorer.exe , которая будет читать различные параметры запуска, такие как все эти нечитаемые значки рядом с часами.

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

1 голос
/ 20 февраля 2012

Я думаю, что winlogon вызывается из необработанного потока ввода, я точно не помню, как, может быть, событие или LPC. Весь смысл C.A.D. в том, что обычная программа не может его перехватить.

Вы можете попытаться эмулировать его в системах до Vista с пользовательским GINA, который вызывает WlxSasNotify .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...