Главная страница
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.077 c
6-1146778260
Sergio77
2006-05-05 01:31
2006.11.05
данные от сервера INDY всем клиентам INDY


15-1161150741
Quester
2006-10-18 09:52
2006.11.05
Загадка


15-1161023303
Евгений Р.
2006-10-16 22:28
2006.11.05
Delphi 5


15-1161172118
novarm44
2006-10-18 15:48
2006.11.05
TeamSource или другое средство командной разработки


1-1159414976
apic
2006-09-28 07:42
2006.11.05
уход курсора