Главная страница
    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.046 c
2-1129303016
The Only
2005-10-14 19:16
2005.11.06
childmdicount


14-1129624757
Loginov Dmitry
2005-10-18 12:39
2005.11.06
Будем учить Си++


5-1108317980
Profi
2005-02-13 21:06
2005.11.06
Логарифмическая шкала


11-1110375631
hotes
2005-03-09 16:40
2005.11.06
событие OnCreate формы


1-1129379128
kblc
2005-10-15 16:25
2005.11.06
ProgIdToClassID ()





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский