PDA

Просмотр полной версии : Вопрос о "пользователе" System


_nic
28.09.2007, 21:47
Возможно ли приложние неявляющиеся сервисом добавить в автозагрузку что бы оно загружалось от имени System ? Если нет то может возможно получить системные права(при условии что приложение запущенно от имени пользователя с административными правами)уже после загрузки?

W!z@rD
29.09.2007, 12:28
это сервис...

_nic
29.09.2007, 15:12
это сервис...
Какой то расплывчатый ответ :confused: Или это означает что кроме написания сервиса альтернативы нет?

KEZ
29.09.2007, 15:16
Надо было разработчикам назвать этого "пользователя" не SYSTEM
а WINDOWS_SYSTEM_NOT_A_USER - что б некоторые кодеры не спрашивали "как запустится от юзера system" + что бы другие кодеры им не отвечали "это сервис".
Топикстартер, как думаешь, если штук десять приложений работают с пометкой систем - можно ли ещё одно такое запустить?
Сюда не надо приплетать администратора системы и нулевое кольцо.


Если нет то может возможно получить системные права(при условии что приложение запущенно от имени пользователя с административными правами)уже после загрузки?


Если ты работаешь под админом - у тебя и так все права на всё есть, хочешь драйвер поставь, хочешь ZwOpenSection на physical memory сделай, хочешь - любой процесс открой. Чтоб системные процессы открывать -

int LoadSeDebugPrivilege( void )
{
HANDLE hToken;
LUID Val;
TOKEN_PRIVILEGES token_priv;

if (!_OpenProcessToken( _GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken )) return (_GetLastError());

if (!_LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &Val )) return (_GetLastError());

token_priv.PrivilegeCount = 1;
token_priv.Privileges[0].Luid = Val;
token_priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

if (!_AdjustTokenPrivileges( hToken, FALSE, &token_priv, sizeof( token_priv ), NULL, NULL )) return (_GetLastError());

_CloseHandle( hToken );

return 1;
}


(из илюжона)

Если надо поставить меточку "system" в окошке task manager (ctrl+alt+del), то (я конечно не могу сказать на 100%), но придется писать дров и копаться в потрохах винды (относительно security-дескрипторов, прав доступа, хэндлов, структур описателей процесса и тп), рискуя навсегда стать Great'ом : )