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

Вниз

Фильтрация процессов от системных   Найти похожие ветки 

 
Aragon ©   (2006-06-18 19:31) [0]

Hi! Подскажите, как можно узнать является ли процесс системным. Делал так: получаю все аткивные процессы в системе, если от процесса можно получить какую-нибудь инфу, то простой процесс, иначе возникнет ошибка доступа - системный. svchost, lsass, services и т.д. проходят такой фильтр.
По папке System32 тоже нехорошо, т.к. пользователь может от туда стартовать свое приложение.
Как реализовать фильтр от системных процессов.


 
Сергей М. ©   (2006-06-19 08:36) [1]


> если от процесса можно получить какую-нибудь инфу


Это как ?


 
Игорь Шевченко ©   (2006-06-19 10:22) [2]


> Подскажите, как можно узнать является ли процесс системным


type
 ZString = array[0..1024] of char;

function SIDToName (const SID: PSID): string;
var
 Use : SID_NAME_USE;
 DomainName : ZString;
 DomainNameLength : DWORD;
 Name : ZString;
 NameLength : DWORD;
begin
 if not LookupAccountSid(nil, SID, Name, NameLength, DomainName,
    DomainNameLength, Use) then
   Result := "***"
 else
   Result := Name;
end;


procedure TfMain.LookupProcessOwner(AProcess: THSNtProcessInfo);
var
 UserName: string;
 AccessToken : THandle;
 Info : PSIDANDATTRIBUTES;
 ReturnLength : DWORD;
 ProcessHandle: THandle;
begin
 ProcessHandle := OpenProcess(PROCESS_QUERY_INFORMATION, false,
    AProcess.Info.ProcessId);
 if ProcessHandle = 0 then
   Exit;
 try
   if not OpenProcessToken(ProcessHandle, TOKEN_QUERY, AccessToken) then
     Exit;
   GetMem (Info, 4096);
   try
     Win32Check(GetTokenInformation(AccessToken, TokenUser, Info, 4096,
       ReturnLength));
     UserName := SidToName(Info^.Sid);
   finally
     FreeMem(Info);
     CloseHandle(AccessToken);
   end;
 finally
   CloseHandle(ProcessHandle);
 end;
....
end;


По username и фильтровать



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
5-1142103023
AdmeraL
2006-03-11 21:50
2006.11.05
Значения Default


2-1161257587
Helen
2006-10-19 15:33
2006.11.05
Поменять кодировку


2-1161163863
pkm
2006-10-18 13:31
2006.11.05
Мемо.


4-1148999649
Turbid
2006-05-30 18:34
2006.11.05
Программа в оперативной памяти


2-1161519769
beglec
2006-10-22 16:22
2006.11.05
Проблема с массивом неизвестного размера