Самоучитель по программированию систем защиты



         

Протокол взаимодействия процесса Winlogon и библиотеки GINA - часть 7


res = g_lpWlxWkstaLockedSAS(pWlxContext, dwSasType); return WLX_SAS_ACTION_UNLOCK_WKSTA;

DOL WINAPI WlxIsLogoffOk( PVOID pWlxContext )

BOOL res;

MessageBox(NULL,_T("WlxIsLogoffOk"),_T("GinaDebug"),MB_OK);

res = g_lpWlxIsLogoffOk(pWlxContext) ;

return res;

DID WINAPI WlxLogoff ( PVOID pWlxContext )

MessageBox(NULL,_T("WlxLogoff"') ,_T ("GinaDebug") ,MB_OK) ; g IpWlxLogoff(pWlxContext);

OID WINAPI WlxShutdown( PVOID pWlxContext, DWORD ShutdownType

MessageBox(NULL,_T("WlxShutdown"),_T("GinaDebug"),MB_OK); g IpWlxShutdown(pWlxContext, ShutdownType);

Файл экспорта

LIBRARY XGINA

DESCRIPTION 'Windows NT Logon GUI'

EXPORTS

WlxNegotiate

Wlxlnitialize

WlxDisplaySASNotice

WlxLoggedOutSAS

WlxActivateUserShell

WlxLoggedOnSAS

WlxDisplayLockedNotice

WlxWkstaLockedSAS

WlxIsLockOk

WlxIsLogoffOk

WlxLogoff

WlxShutdown

Файл 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

DefaultDomain- Name

имя домена

NEWDOMAIN

Определяет имя домена, для которого был произведен последний успешный вход в систему

DefaultPassword

пароль

нет

Определяет пароль для пользователя, указанного в DefaultUserName и используется при входе в систему по умолчанию

DefaultUserName

имя пользователя

имя последнего успешно вошедшего в систему пользователя

Если определены значения AutoAdminLogon и Default-Password, то это имя используется для входа в систему по умолчанию

DontDisplayLast- UserName

0/1

0

LegalNoticeCap- tion

строка заго- ловка

нет

Определяет заголовок специального сообщения пользователю

LegalNoticeText

строка текста сообщения

нет

Определяет текст специального сообщения пользователю

ParseAutoexec

0/1

1

При установленном в 1 значении содержимое фай- ла AUTOEXEC.BAT анализируется при входе в Win- dows NT

PowerdownAfter- Shutdown

0/1

0 для Windows NT Server, 1 для Windows NT Worksta- tion

Если этот ключ установлен в 1, пользователь может выби- рать действия Shutdown и PowerOff из меню ShutDown и Logoff. Иначе кнопка Power Off не появляется

Shutdown With- outLogon

0/1

0 для Windows NT Server, 1 для Windows NT Worksta- tion

Если это значение установ- лено в 1, пользователь может выбирать Shutdown без Pow- erOff из диалогового окна Welcome. Иначе, ShutDown без Power Off не появляется

ReportBootOk

0/1

1

Если это значение установ лено в 0, то отключается автоматическое принятие за- пуска (по умолчанию), которое производится после пер- вого успешного входа в систему. Это значение должно быть равно 0, если используются альтернативные назначения в ключах BootVeri- fication или BootVerifica- tionProgram

Shell

Имена испол- няемых при- ложений

taskman, prog- man, wowexec

Определяет исполняемые программы, которые должны быть выполнены как оболочки пользователя

System

Исполняемые имена

lsass.exe, spollss.exe

Определяет имена программ, которые должен выполнить процесс WinLogon в контек- сте системы

Taskman

Исполняемые имена

нет

Позволяет определить имена программ, решающих раз- личные административные задачи

Userlnit

Исполняемые имена

userini, nddeagntexe

определяет исполняемые программы, которые должен выполнить процесс WinLogon при входе пользователя в систему

<


Содержание  Назад  Вперед