Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

Получение уровня привелегий процесса   Найти похожие ветки 

 
AngelFire   (2005-09-01 18:01) [0]

Уважаемые Мастера и подмастерья!
  Не подскажете, каким образом можно (программно!) получить уровень привелегий запущенного процесса, имея в наличии только хэндл процесса, и, при необходимости, поднять уровень привилегий процесса? А также, каким образом запустить процесс/изменить параметры запущенного чтобы он выполнялся с правами конкретного пользователя (чаще всего, администратора)?


 
Игорь Шевченко ©   (2005-09-01 18:07) [1]


>   Не подскажете, каким образом можно (программно!) получить
> уровень привелегий запущенного процесса, имея в наличии
> только хэндл процесса


OpenProcessToken, GetTokenInformation (...TOKEN_PRIVILEGE...)


> и, при необходимости, поднять уровень привилегий процесса?
>


function HSEnablePrivilege (const PrivilegeName: String): Boolean;
var
 LUID: TLargeInteger;
 Priv: TTokenPrivileges;
 AccessToken: THandle;
 ReturnLen: Cardinal;
begin
 Result := OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, AccessToken);
 if not Result then
   Exit;
 Result := LookupPrivilegeValueA(nil, PChar(PrivilegeName), LUID);
 if not Result then //Привилегия не нашлась
   Exit;
 Priv.PrivilegeCount := 1;
 Priv.Privileges[0].Luid := LUID;
 Priv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
 Result := AdjustTokenPrivileges(AccessToken, false, Priv,
   SizeOf(TTokenPrivileges), nil, ReturnLen);
end;


> А также, каким образом запустить процесс/изменить параметры
> запущенного чтобы он выполнялся с правами конкретного пользователя
> (чаще всего, администратора)?


Запустить через Runas.
Изменить параметры запущенного - Windows вообще-то не дураки писали.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.072 c
5-1101036755
Ilg
2004-11-21 14:32
2005.11.06
Простейший Редактор свойств


3-1127563236
ZSergey
2005-09-24 16:00
2005.11.06
Как получить значение поля ...


8-1118385459
Chaser
2005-06-10 10:37
2005.11.06
Глюк или не глюк TImage?


2-1129198068
Sunrice
2005-10-13 14:07
2005.11.06
Как правельно сделать пинг?


2-1128686720
Pasha L
2005-10-07 16:05
2005.11.06
Извлечь иконку из ехе-шника





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский