Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1129290248
Lirik
2005-10-14 15:44
2005.11.06
Запретить двигать формой


3-1127467916
vigo
2005-09-23 13:31
2005.11.06
Ошибка инициализации Borland DataBase Engine


10-1106918721
vano_
2005-01-28 16:25
2005.11.06
Задание номера порта для CORBA-сервера


2-1129123747
DelphiLexx
2005-10-12 17:29
2005.11.06
Проблемы с TChart


11-1109864141
Ajax
2005-03-03 18:35
2005.11.06
OwnerDraw в TreeView