Протокол взаимодействия процесса Winlogon и библиотеки GINA
Файл xgina.h
#ifndef GINA_GINA_H # _ tdefine GINA_GINA_H_ extern HINSTANCE hDllInstance; extern HANDLE hGlobalWlx; extern PWLX_DISPATCH_VERSION_1_0 pWlxFuncs; typedef struct Globals BOOL BOOL HANDLE PWSTR PWSTR PWSTR SYSTEMTIME timeOfLogin; } Globals, *PGlobals; #endif // GINA GINA H fAutoLogonAtBoot; fAutoLogonAlways; hUserToken; pszUsername; pszDomain; pszPassword;
Для активизации модуля xgina.dll необходимо создать ключ реестра (например, при помощи Regini с использованием следующего ini файла):
\Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon GinaDll = c:\xgina.dll
Вместо c:\xgina.dll необходимо указать реальный путь, либо поместить библиотеку по заданному пути.
Процесс регулируется следующими ключами реестра \Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
Название | Значение | Значение по умолчанию | Содержание |
---|---|---|---|
AutoAdminLogon | 0/1 | 0 | Определяет необходимость автоматического входа в систему с именем DefaultUserName и паролем DefaultPassword |
DefaultDomainName | имя домена | NEWDOMAIN | Определяет имя домена, для которого был произведен последний успешный вход в систему |
DefaultPassword | пароль | нет | Определяет пароль для пользователя, указанного в DefaultUserName и используется при входе в систему по умолчанию |
DefaultUserName | имя пользователя | имя последнего успешно вошедшего в систему пользователя | Если определены значения AutoAdminLogon и Default-Password, то это имя используется для входа в систему по умолчанию |
DontDisplayLastUserName | 0/1 | 0 | |
LegalNoticeCaption | строка заголовка | нет | Определяет заголовок специального сообщения пользователю |
LegalNoticeText | строка текста сообщения | нет | Определяет текст специального сообщения пользователю |
ParseAutoexec | 0/1 | 1 | При установленном в 1 значении содержимое файла AUTOEXEC.BAT анализируется при входе в Windows NT |
PowerdownAfterShutdown | 0/1 | 0 для Windows NT Server, 1 для Windows NT Workstation | Если этот ключ установлен в 1, пользователь может выбирать действия Shutdown и PowerOff из меню ShutDown и Logoff. Иначе кнопка Power Off не появляется |
Shutdown WithoutLogon | 0/1 | 0 для Windows NT Server, 1 для Windows NT Workstation | Если это значение установлено в 1, пользователь может выбирать Shutdown без PowerOff из диалогового окна Welcome. Иначе, ShutDown без Power Off не появляется |
ReportBootOk | 0/1 | 1 | Если это значение установлено в 0, то отключается автоматическое принятие запуска (по умолчанию), которое производится после первого успешного входа в систему. Это значение должно быть равно 0, если используются альтернативные назначения в ключах BootVerification или BootVerificationProgram |
Shell | Имена исполняемых приложений | taskman, progman, wowexec | Определяет исполняемые программы, которые должны быть выполнены как оболочки пользователя |
System | Исполняемые имена | lsass.exe, spollss.exe | Определяет имена программ, которые должен выполнить процесс WinLogon в контексте системы |
Taskman | Исполняемые имена | нет | Позволяет определить имена программ, решающих различные административные задачи |
Userlnit | Исполняемые имена | userini, nddeagntexe | определяет исполняемые программы, которые должен выполнить процесс WinLogon при входе пользователя в систему |