Форум программистов, компьютерный форум CyberForum.ru

Авторизация пользователя через MsGina - Userinit.exe - C++

Восстановить пароль Регистрация
 
DmSK
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 13
07.03.2011, 18:27     Авторизация пользователя через MsGina - Userinit.exe #1
Друзья!
Последние дни занят поиском решения одной проблемы.
Хочу поделиться:

Написал работоспособную MsGina2.dll в замен стандартной. Работает.
Следующей задачей заменил стандартную функцию pWinlogonFunctions->WlxLoggedOutSAS на LogonUser, которую на самом деле инкапсулирует(скрывает) выше упомянутая функция WlxLoggedOutSAS. Работает.

А вот заменить pWinlogonFunctions->WlxActivateUserShell роблема т.е. на CreateProcessAsUser, которую на самом деле скрывает WlxActivateUserShell. Вылетает ошибка при след. коде:
Что в коде не так?

Код
BOOL WINAPI WlxActivateUserShell(PVOID pWlxContext, PWSTR..........
{
....
GetProfileString(WINLOGON_APP, USERINIT, USERINIT_DEFAULT, chText, MAX_PATH);

	StartCount = 0;
	strcpy(chScan, strtok(chText, ','));

	while (chScan)
    {
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(STARTUPINFO);
        si.lpTitle = chScan;
        si.dwX = si.dwY = si.dwXSize = si.dwYSize = 0L;
        si.dwFlags = 0;
        si.wShowWindow = SW_SHOW;   // at least let the guy see it
        si.lpReserved2 = NULL;
        si.cbReserved2 = 0;
        si.lpDesktop = (char*) pszDesktopName;

        ImpersonateLoggedOnUser(hTokenT);

        if (CreateProcessAsUser(hTokenT,			
                            NULL,                   
                            chScan,                 // Command Line -
                                                    // pathUserinit.exe
                            NULL,                   
                            NULL,                   
                            FALSE,                  
                            CREATE_UNICODE_ENVIRONMENT,
                            pEnvironment,
                            NULL,
                            &si,
                            &pi))
        {
            StartCount++;
            CloseHandle(pi.hProcess);
            CloseHandle(pi.hThread);
        }

        RevertToSelf();

        strcpy(chScan, strtok(NULL, ','));
    }

return ..
}
.

.Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 18:27     Авторизация пользователя через MsGina - Userinit.exe
Посмотрите здесь:

Как запихнуть в exe html файл и открыть его через нужный мне браузер? C++
Компиляция заданного кода в exe через программу C++
C++ Не создает exe, как запустить через командную строку с указанием имя файла
как эту программу сделать через функции пользователя? C++
как сделать через функцию пользователя и чтобы размер мог вводить пользователь ? C++
C++ Как переделать код?. Нужно сделать через функции пользователя
C++ Регистрация и авторизация пользователя - можно ли оптимизировать код
Компиляция библиотеки через make.exe C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru