Можно ли определить кто убивает процесс

Тема в разделе "WASM.NT.KERNEL", создана пользователем dockay1, 16 апр 2009.

  1. dockay1

    dockay1 New Member

    Публикаций:
    0
    Регистрация:
    26 мар 2009
    Сообщения:
    8
    Добрый день,
    Проблема следующая: есть Windows приложение, которое на одной из машин в определенный случайный момент убивается. Почему и кем абсолютно не понятно. Никаких сообщений, записей в логах и т.п. - нет.
    Возможно ли написать драйвер (или что-нибудь подобное), чтобы определить кто именно убивает процесс?
     
  2. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    возможно
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Конечно, можно. Хук на NtTerminateProcess и сравнение хендла с хендлом нужного процесса
     
  4. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    А если его никто не убивает? Может он сам отваливается :)
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Если он сам отваливается, то в конце концов он все равно для самого себя сделает NtTerminateProcess
     
  6. SlyBit

    SlyBit New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2008
    Сообщения:
    43
    Great

    Ну а если поубивают его потоки?
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    SlyBit
    PspExitProcess() из APC вызывается. Если поток делает к примеру xor esp,esp и юзает стек, то в этом случае ядро вызывает ZwTerminateProcess.
     
  8. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Great
    Хэндл сравнивать не надо - он специфичен для каждого процесса. Надо сравнивать ID процесса (а вот как этот ID по HANDLE узнать - уже не помню).
     
  9. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Андрюша продолжает отжигать.
     
  10. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    AndreyMust19

    новую книжку прочитал? )))
     
  11. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Hellspawn
    Скорее, главу про хэндлы :)
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    AndreyMust19
    ну я имел в виду сравнивать либо пид либо PEPROCESS.
    само собой что не хендлы)
     
  13. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Ну ребята, PEPROCESS, так PEPROCESS, а не "хэндлы". Хэндлы тоже разные бывают - писать надо более конкретно о чем идет речь.
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    AndreyMust19
    ну очевидно же;)