Вниз
Скачать: CL | DM;

ProcessHandleToProcessId   Найти похожие ветки 

 
p ©   (2012-01-14 16:16) [0]

Здрасьте, подскажите как получить ID процесса из HANDLE"а в kernel mode, щас делаю так, все работает отлично, но нужно избежать использования Zw функций, проблемма в совместной работе с антивирусами и перехвате Zw функций

PVOID GetSystemRoutineAddress(WCHAR *Name)
{
 UNICODE_STRING RoutineName;
 PVOID RoutineAddress = NULL;
   
 RtlInitUnicodeString(&RoutineName, Name);

 try
 {
     RoutineAddress = MmGetSystemRoutineAddress(&RoutineName);
 }
 except (EXCEPTION_EXECUTE_HANDLER)
 {
     RoutineAddress = NULL;
 }
   
 return RoutineAddress;
}

typedef NTSTATUS (*_ZwQueryInformationProcess)(__in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __out PVOID ProcessInformation, __in ULONG ProcessInformationLength, __out_opt PULONG ReturnLength);  
_ZwQueryInformationProcess ZwQueryInformationProcess;

HANDLE ProcessHandleToProcessId(HANDLE ProcessHandle)
{
NTSTATUS Status;
ULONG ReturnLength;
PROCESS_BASIC_INFORMATION PBI;

__try
   {
 ZwQueryInformationProcess = GetSystemRoutineAddress(L"ZwQueryInformationProcess");
   
 if (!ZwQueryInformationProcess)
  return (HANDLE)0;

 Status = ZwQueryInformationProcess(ProcessHandle, ProcessBasicInformation, &PBI, sizeof(PROCESS_BASIC_INFORMATION), &ReturnLength);
 if (!NT_SUCCESS(Status))
 {
  return (HANDLE)0;
 }

 ZwQueryInformationProcess = NULL;
   }
__except( EXCEPTION_EXECUTE_HANDLER )  
   {        
   }
return (HANDLE)PBI.UniqueProcessId;
}


 
Самуилыч   (2012-01-16 23:05) [1]

DWORD GetProcessId(HANDLE Process);

Parameters

Process
[in] Handle to the process.

The handle must have the PROCESS_QUERY_INFORMATION access right.

Return Values

If the function succeeds, the return value is the process identifier of the specified process.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


 
p ©   (2012-01-17 20:54) [2]


> Самуилыч   (16.01.12 23:05) [1]


Мля блин PsGetProcessId() в XP и выше то что нужно, спасибо плохо искал



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.002 c
15-1387802363
Ламо777
2013-12-23 16:39
2014.07.13
Алгоритм распространения пламени


15-1387776401
ProgRAMmer Dimonych
2013-12-23 09:26
2014.07.13
Восстановление NTFS без переформатирования из RAW


2-1378965082
Коля
2013-09-12 09:51
2014.07.13
Создание Tmemo


2-1378871925
Sw
2013-09-11 07:58
2014.07.13
TStringList


15-1387830602
Юрий
2013-12-24 00:30
2014.07.13
С днем рождения ! 24 декабря 2013 вторник




   Наверх