Запуск процесса с учетной записью админа

Обсуждения по программированию для ОС Windows безотносительно используемого языка программирования. Windows NT, Win32, Windows API, ядро и драйверы.
ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Запуск процесса с учетной записью админа

Сообщение ger_kar » 26.06.2012 (Вт) 19:46

Существует стандартная утилита RunAs, для запуска приложения с правами другой учетной записи, в т.ч. с ее помощью можно запустить процесс с административными правами. Для такого запуска необходимы только соответствующие логин с паролем. Возможно ли внедрить подобный механизм в свое приложение, что-бы используя учетные данные администратора процесс запускался всегда с административными правами? Причем что-бы это был не отдельный лоадер запускающий основное приложение , а единое цельное приложение (все в одном флаконе :) ).
Хотя на крайний случай пойдет и с лоадером.
А теперь собственно и основной вопрос. С чего начать поиски и в какую сторону копать? Наверняка для этого существуют соответствующие готовые WinApi функции. Вопрос только какие?
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 26.06.2012 (Вт) 20:28

ger_kar писал(а):Возможно ли внедрить подобный механизм в свое приложение, что-бы используя учетные данные администратора процесс запускался всегда с административными правами?

.NET позволяет... [Хакер] ты ошибся разделом.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск процесса с учетной записью админа

Сообщение Хакер » 26.06.2012 (Вт) 20:29

Меня бесят такие вопросы.
Нашли программу, которая делает то, что вам нужно, и не знаете, какими API-функциями она это делает?
Ну так возьмите Dependency Walker и посмотрите, какими.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Запуск процесса с учетной записью админа

Сообщение ger_kar » 26.06.2012 (Вт) 20:53

Qwertiy писал(а):Не понял. Ты хочешь запустить процесс или изменить права уже существующего?

Скажем так, что-бы свое родное приложение запускалось в процессе с административными правами.
Хакер писал(а):Нашли программу, которая делает то, что вам нужно, и не знаете, какими API-функциями она это делает?
Ну скажем программа то есть, и функции посмотреть можно, и не только можно, а я уже RunAs в отладчике посмотрел, но программа делает немного не то, что нужно. Основной вопрос не как сторонний процесс родить с правами админа, как это делает RunAs, а как собственному процессу дать админские права в этом же самом процессе, если это вообще возможно теоретически. Для начала хотелось бы это узнать. Т.е. возможно или нет и если возможно, то как, хотя-бы примерно.

PS: Вопрос имеет больше академический характер, чем практический. На практике можно и лоадером типа RunAs обойтись.
Бороться и искать, найти и перепрятать

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: Запуск процесса с учетной записью админа

Сообщение NashRus » 26.06.2012 (Вт) 21:13

Как ты говоришь лоадером может быть и твое собственное приложение, которое запускает само себя во втором процессе.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 26.06.2012 (Вт) 21:41

Qwertiy писал(а):.NET позволяет... [Хакер] ты ошибся разделом.

Какого чёрта? Я отвечал на вопрос возможно или нет, при этом не приводил никакого кода.
И вообще, ты удалил в 3 раза больше, чем было про .NET!


ger_kar писал(а):а как собственному процессу дать админские права в этом же самом процессе

В Семёрке это делается с помощью манифеста.
90% что нельзя.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 18.11.2013 (Пн) 15:26

Нашёл создание com-объекта с повышением прав: http://www.autopark.ru/ASBProgrammerGuide/CREELOBJ.HTM и http://mda-delphi.blogspot.ru/2009/03/vista-uac-delphi-3.html.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Запуск процесса с учетной записью админа

Сообщение iGrok » 18.11.2013 (Пн) 17:05

Запустить самого себя через RunAs с нужными параметрами.
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 18.11.2013 (Пн) 17:10

iGrok писал(а):Запустить самого себя через RunAs с нужными параметрами.

CreateProcess с параметром runas никто не отменял...
Про com-объект что-нибудь хотелось бы услышать ;)

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Запуск процесса с учетной записью админа

Сообщение ger_kar » 18.11.2013 (Пн) 21:23

Qwertiy писал(а):Нашёл создание com-объекта с повышением прав:
Посмотрел - хорошая штука, жаль под Windows XP от неё толку не будет. Хотя с манифестом нужно попробовать.
Бороться и искать, найти и перепрятать


Вернуться в Windows-программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList