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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DmSK
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 13
#1

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

07.03.2011, 18:27. Просмотров 743. Ответов 0
Метки нет (Все метки)

Друзья!
Последние дни занят поиском решения одной проблемы.
Хочу поделиться:

Написал работоспособную 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
Посмотрите здесь:

Авторизация пользователя по первой введенной букве - C++
Добрый день! Есть вот такая вот задача на строки: Для авторизации необходимо ввести свой nickname. Если первая буква nickname - это A,...

Регистрация и авторизация пользователя - можно ли оптимизировать код - C++
Можно ли как-то упростить такой код, или это - то что нужно? Простенькие до ужаса регистрация пользователя и авторизация. #include...

как эту программу сделать через функции пользователя? - C++
как эту программу сделать через функции пользователя? #include <iostream> #include <string.h> using namespace std; int main() { ...

Компиляция библиотеки через make.exe - C++
Скачал исходный код библиотеки oglft-0.9, скачал make-3.81.exe, не могу понять как скомпилировать, подскажите. В папке есть файлы ...

Компиляция заданного кода в exe через программу - C++
Хочу узнать поподробнее, как реализовать компиляцию некого заданного кода в exe для windows через самописную программу. Ведь как-то писали...

Как получить пусть к папке exe через api - C++
GetModuleFileName даёт полный путь а как узнать папку?копилятор MinGW

Не создает exe, как запустить через командную строку с указанием имя файла - C++
#include "stdafx.h" #include <iostream> #include <fstream> #include <locale> #include <stdlib.h> using namespace std; void...

Авторизация в С++ - C++
Есть консольное приложение в котором нужно сделать авторизацию и соответственно, нужно логин и пароль зашифровать и хранить в таком файле,...

Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe" - C++
Захожу на сайт хочу скачать codeblocks чтобы на нем изучать си++ , толька н могу понять разницы там для виндовс есть четыре файла вот они ...

Авторизация в консоли - C++
Привет всем! Наткнулся на одну интересную мысль, как авторизация в консоли с несколькими пользователями, каждому из которых соответствуют...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru