Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Привилегии в WinXP 
V
    Опции темы
DoZENT
Дата 21.7.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: 1
Всего: 1



Добрый день!
При запуске CreateProcessAsUser нужно установить привилегии в системе. Подскажите, pls, как это сделать smile  


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
_hunter
Дата 21.7.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 9
Всего: 98



открываем MSDN, находим там функцию CreateProcessAsUser, читаем ее ремарки -- о чудо:
Цитата

Typically, the process that calls the CreateProcessAsUser function must have the SE_ASSIGNPRIMARYTOKEN_NAME and SE_INCREASE_QUOTA_NAME privileges. However, if hToken is a restricted version of the caller's primary token, the SE_ASSIGNPRIMARYTOKEN_NAME privilege is not required. If the necessary privileges are not already enabled, CreateProcessAsUser enables them for the duration of the call. For more information, see Running with Special Privileges.

кликаем по ссылке и наслаждаемся... 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
DoZENT
Дата 21.7.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: 1
Всего: 1



Цитата

читаем ее ремарки....

Это все понятно, но как работать с AdjustTokenPrivileges я не понял 


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
_hunter
Дата 21.7.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 9
Всего: 98



при поиске слова AdjustTokenPrivileges по разделу Delphi получаем две страницы ссылок.
если еще и по сям поискать... 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
denks
Дата 21.7.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Вот тебе пример
Код

.586

.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\advapi32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\advapi32.lib

.data
tp TOKEN_PRIVILEGES <>
privilegija db "SeShutdownPrivilege",0

.code
start:
invoke GetCurrentProcess
mov hProc, eax
invoke OpenProcessToken, hProc, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, addr hToken
invoke LookupPrivilegeValue, NULL, addr privilegija, addr tp.Privileges[0].Luid
mov tp.PrivilegeCount, 1
mov tp.Privileges[0].Attributes, SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges, hToken, FALSE, addr tp, NULL, NULL, NULL
invoke ExitProcess,0
end start
  

Это сообщение отредактировал(а) denks - 21.7.2006, 17:45
PM MAIL   Вверх
Albinos_x
Дата 21.7.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 3
Всего: 108



Код

{ flag может быть к примеру 'SeShutdownPrivilege'.
true - получаем привилегии; false - отказываемся

SetPrivilege(Flag, true);}
function SetPrivilege(aPrivilegeName: string; aEnabled: boolean ): boolean;
var
 TPPrev, TP: TTokenPrivileges;
 hToken: THandle;
 dwRetLen: DWord;
begin
 Result:= False;
 OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
 TP.PrivilegeCount:=1;
 if (LookupPrivilegeValue(nil, PChar(aPrivilegeName), TP.Privileges[0].LUID)) then
   begin
     if (aEnabled) then TP.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED
     else TP.Privileges[0].Attributes:=0;
     dwRetLen:=0;
     Result:=AdjustTokenPrivileges(hToken,False,TP, SizeOf(TPPrev), TPPrev,dwRetLen);
   end;
 CloseHandle(hToken);
end;


Цитата
виды привелегий в Windows XP и NT:
'SeCreateTokenPrivilege'
'SeAssignPrimaryTokenPrivilege'
'SeLockMemoryPrivilege'
'SeIncreaseQuotaPrivilege'
'SeUnsolicitedInputPrivilege '
'SeMachineAccountPrivilege '
'SeTcbPrivilege'
'SeSecurityPrivilege'
'SeTakeOwnershipPrivilege'
'SeLoadDriverPrivilege'
'SeSystemProfilePrivilege'
'SeSystemtimePrivilege'
'SeProfileSingleProcessPrivilege'
'SeIncreaseBasePriorityPrivilege'
'SeCreatePagefilePrivilege'
'SeCreatePermanentPrivilege'
'SeBackupPrivilege'
'SeRestorePrivilege'
'SeShutdownPrivilege'
'SeDebugPrivilege'
'SeAuditPrivilege'
'SeSystemEnvironmentPrivilege'
'SeChangeNotifyPrivilege'
'SeRemoteShutdownPrivilege'
'SeUndockPrivilege'
'SeSyncAgentPrivilege'
'SeEnableDelegationPrivilege'
'SeManageVolumePrivilege'
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
DoZENT
Дата 27.7.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: 1
Всего: 1



спасибо, все понял, все получилось 


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0850 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.