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

Вниз

Как запустить процесс с привилегиями System   Найти похожие ветки 

 
SCL ©   (2008-12-14 10:16) [0]

Как запустить процесс от пользователя System и с привилегиями Системы (как некоторые антивирусы)


 
Игорь Шевченко ©   (2008-12-14 13:05) [1]

1. Процесс всегда можно увидеть
2. Процесс всегда можно убить
3. Систему безопасности в Windows разрабатывали умные люди.


 
Leonid Troyanovsky ©   (2008-12-14 16:31) [2]


> SCL ©   (14.12.08 10:16)  

> Как запустить процесс от пользователя System

Ну, например, через Schedule, если оно от лица System,
то и все им пущеннные будут таковыми.

--
Regards, LVT.


 
МистерТ   (2008-12-15 16:53) [3]

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


 
Eraser ©   (2008-12-15 18:02) [4]

> Как запустить процесс с привилегиями System

вызвать CreateProcess из приложения с правами и привилегиями System.


 
Fighter   (2009-01-03 04:48) [5]

Гдето на работе валялся асемблерный исходник который такое делат. доберусь до работы и если вспомню напишу.  Вспоминается что там используется функция GetKernelObjectSecurity которая получает SecurityDescriptor. потом следует танец с бубном и CreateProcess


 
apic   (2009-01-29 12:20) [6]

Fighter, ждем тебя! Мне тоже интересно...


 
Eraser ©   (2009-01-29 16:54) [7]

> [6] apic   (29.01.09 12:20)

можешь не ждать, а купить книгу Руссиновича, там все описано и даже готовое решение есть http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx


 
user00   (2009-04-10 19:27) [8]

Запустить файл как сервис


 
имя   (2009-04-11 06:39) [9]

Удалено модератором


 
Игорь ©   (2009-04-12 10:33) [10]

Вот держи убогую хрень написанную мной

RunAsSystem под 2000, 2003, XP, Vista

http://www.onlinedisk.ru/file/118954/


 
Riply ©   (2009-04-29 16:23) [11]

> [10] Игорь ©   (12.04.09 10:33)
> Вот держи убогую хрень написанную мной

Ну не совсем уж и убогая :)

Смотрела бегло, но сразу обратила внимание, на то что ты меняешь секюрити у winlogon.
Конечно это никуда не годится, надо искать другой путь.
(Вариант временно изменить и потом вернуть обратно тож плох).
Так что, если конечно интерес не пропал, дерзайте дальше :)
P.S.
Есть там еще ошибки, но они меркнут в сравнении с описанной выше :)


 
Игорь ©   (2009-04-29 17:13) [12]

Вот доделанный вариант, PACL winlogon"у назад возвращаеться

function _RunAsSystem_1(ApplicationName: string; CommandLine: string): Boolean;
var
 SI: STARTUPINFO;
 PI: PROCESS_INFORMATION;
 PSD: PPSecurity_Descriptor;
 ppDacl: PACL;
 hProcess, hToken: Cardinal;
begin
 Result:= False;
 hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION, False, GetWinlogonPID);
 if hProcess <> 0 then
 begin
   try
     OpenProcessToken(hProcess, MAXIMUM_ALLOWED, hToken);
     if hToken <> 0 then
     begin
       if GetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, @ppDacl, nil, PSD) = ERROR_SUCCESS then
       begin
         if SetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, nil, nil) = ERROR_SUCCESS then
         begin
           CloseHandle(hToken);
           hToken:= 0;
           OpenProcessToken(hProcess, MAXIMUM_ALLOWED, hToken);
           if hToken <> 0 then
           begin
             try
               if ImpersonateLoggedOnUser(hToken) then
               begin
                 ZeroMemory(@SI, SizeOf(SI));
                 SI.cb:= SizeOf(SI);
                 if CreateProcessAsUser(hToken, PChar(ApplicationName), PChar(CommandLine), nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, SI, PI) then
                   Result:= True;
                 RevertToSelf;
               end;
               SetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, ppDacl, nil);
             finally
               CloseHandle(hToken);
             end;
           end;
         end;
         LocalFree(DWORD(ppDacl));
         LocalFree(DWORD(PSD));
       end;
     end;
   finally
     CloseHandle(hProcess);
   end;
 end;
end;


 
trix   (2009-09-13 00:45) [13]

Запустить как сервис. =)


 
СовестьДМ ©   (2009-09-13 02:19) [14]

Удалено модератором



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

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

Наверх





Память: 0.48 MB
Время: 0.005 c
2-1314451245
Vladimir
2011-08-27 17:20
2011.12.11
Сколько ресурсов требуется программе


15-1314088885
xayam
2011-08-23 12:41
2011.12.11
Переключатель на светильник


15-1314337996
DelphiN!
2011-08-26 09:53
2011.12.11
Безопасность в Windows 7


4-1242382646
Игорь
2009-05-15 14:17
2011.12.11
Функция IsProcessInJob в Windows 2000


15-1313305232
alexdn
2011-08-14 11:00
2011.12.11
Чисто технический вопрос





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