Как отловить создание процесса в usermode?

Тема в разделе "WASM.WIN32", создана пользователем Flasher, 10 авг 2010.

  1. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Задача - слежка за новыми процессами.
    Способ в цикле чекания списка процессов и фильтрация старых да бы найти новые не хорошое решение, точно также не хорошо скажем хукать какой-то api во всех процессах. Может какой нотификатор можно ставить в csrss ? или прям в csrss лучще хукать какой-нить api который срабатывает при создании процесса? И если да, то какой?

    Спасибо за внимание.
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Код (Text):
    1. CreateProcessNotify
     
  3. ziral2088

    ziral2088 New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2009
    Сообщения:
    283
    google->basesrv.dll->BaseSetProcessCreateNotify
     
  4. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    CreateProcessNotify - не хочется связываться с реестром + тащить за собой отдельный модуль.
    BaseSetProcessCreateNotify - пока не совсем понял как юзать.
    А что насчет NtUserNotifyProcessCreate? Clerk тут спрошивал, но до меня так и не дошло как это использовать.
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    зачем в реестре копаться?
    подменил хендлер и все дела.
    можно через BaseSetProcessCreateNotify, а можно непосредственно сам адрес обработчика.
     
  6. columbus

    columbus New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2010
    Сообщения:
    4
    А задачу нужно решать в юзермоде именно? или допустимо драйвер сделать?
     
  7. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    а название топика не судьба прочитать ?
     
  8. columbus

    columbus New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2010
    Сообщения:
    4
    извините тогда
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Flasher
    Подобные задачи не решаются из юзермода. Вам нужно создание процессов отслеживать, комуто иные обькты. Не нужен никакой хак, в ядре нотификаторы используйте или всякие иные механизмы.
     
  10. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    csrss, или в ядре хотя бы PsSetCreateProcessNotifyRoutine
     
  11. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday