Сейчас на форуме: tyns777, zds (+3 невидимых)

 eXeL@B —› Программирование —› My Process Monitor
Посл.ответ Сообщение

Ранг: 2.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 ноября 2009 01:24
· Личное сообщение · #1

Привет всем!

Подскажите пожалуйста каким образом можно отследить в системе запуск процессов
например: программа от Марка Русиновича Process Monitor отслеживает запуск новых процессов.
Изучаю программирование драйверов и хочется создать мониторинг запускаемых процессов это
мой первый вопрос Второй это как определить пид запускаемого процесса?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 07 ноября 2009 01:33
· Личное сообщение · #2

Используй в своем драйвере process notify-routines

1. PsSetCreateProcessNotify - msdn.microsoft.com/en-us/library/ms802952.aspx
2. PsSetLoadImageNotifyRoutine - msdn.microsoft.com/en-us/library/ms802949.aspx

открывки кода из моего драйвера:

Code:
  1. void CreateCloseProcessNotifyRoutine(IN HANDLE ParentId, IN HANDLE ProcessId, IN BOOLEAN Create)
  2. {        
  3.          if (Create)
  4.                  DbgPrint("Created Process Id, %d", ProcessId);
  5.          else
  6.                  DbgPrint("Terminated Process Id, %d", ProcessId);
  7. }
  8.  
  9.  
  10. NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,
  11.                      IN PUNICODE_STRING RegistryPath)
  12. {
  13.  NTSTATUS ntStatus = STATUS_SUCCESS;
  14.  
  15.  ntStatus = PsSetCreateProcessNotifyRoutine((PCREATE_PROCESS_NOTIFY_ROUTINE)Create CloseProcessNotifyRoutine  , FALSE);
  16.  if (!NT_SUCCESS(ntStatus)){
  17.          return ntStatus;
  18.  }
  19.  ...
  20.  return  ntStatus 
  21. }
  22.  
  23.  
  24. VOID DriverUnload(IN PDRIVER_OBJECT DriverObject)
  25. {
  26.  ntStatus = PsSetCreateProcessNotifyRoutine((PCREATE_PROCESS_NOTIFY_ROUTINE)Create CloseProcessNotifyRoutine,  TRUE);
  27.  ...
  28. }


Исходный код монитора от Русиновича открыт, так что в бой!

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 191.8 (ветеран), 46thx
Активность: 0.170
Статус: Участник

Создано: 07 ноября 2009 06:11
· Личное сообщение · #3

Для интереса, наверно можно глянуть

ExcpHook ver 0.0.5-rc2
gynvael.coldwind.pl?id=148
gynvael.coldwind.pl/download.php?f=ExcpHookMonitor_0.0.5-rc2.zip


 eXeL@B —› Программирование —› My Process Monitor
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати