Постановка задачи:
Программа, которая запущена пользователем не имеющим прав администратора, должна запустить другую программу от имени другого пользователя. Имя и пароль другого пользователя известны.
Пробовалось:
1. Создать токен методами SPPI (
http://www.rsdn.ru/article/qna/baseserv/winauth.xml) и использовать его первичный(primary) дубликат для создания процесса(CreateProcessAsUser). В результате ошибка №5 "Access is denied."
2. Внедрять DLL которая выполняет LogonUser + CreateProcessAsUser в процесс системных сервисов. Не получилось внедрить (ни через SetWindowHookEx, ни через CreateRemoteThread).
Есть ли еще возможные варианты или возможно я что-то делал не так?
Или это в принципе не возможно?
Здравствуйте, A.Zanevski, Вы писали:
AZ>Постановка задачи:
AZ> Программа, которая запущена пользователем не имеющим прав администратора, должна запустить другую программу от имени другого пользователя. Имя и пароль другого пользователя известны.
AZ>Пробовалось:
AZ> 1. Создать токен методами SPPI (http://www.rsdn.ru/article/qna/baseserv/winauth.xml) и использовать его первичный(primary) дубликат для создания процесса(CreateProcessAsUser). В результате ошибка №5 "Access is denied."
А так, как MSDN советует, не получается? В смысле, получить токен функцией LogonUser?