PsSetLoadImageNotifyRoutine - аналог для драйверов?

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

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Как известно с помощью PsSetLoadImageNotifyRoutine можно отслеживать загрузку модулей в usermode. А есть ли аналог данной функции для модулей в ядре - драйверов? Или нужно перехватывать NtLoadDriver?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
     
  3. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    n0name
    Спасибо! Так и есть.
    Еще один вопрос вдогонку. Callback функция вызывается по некольку раз для каздого загружаемого модуля. То есть например, я запускаю notepad.exe и вижу, что callback вызывается по нескольку раз для "notepad.exe" и его dlls. Во первых почему есть многократные вызовы callback, во вторых, есть ли способ заставить callback вызываться лишь один раз?
     
  4. VirMaker

    VirMaker New Member

    Публикаций:
    0
    Регистрация:
    4 дек 2008
    Сообщения:
    20
    1. Вызывается каждый раз при загрузке нового модуля
    2. Выгружай драйвер для одной итерации
     
  5. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    "Почему" вопрос тут не самый интересный, потому как один хрен изменить это поведение возможным не представляется. А решить эту проблему можно, но способ решения зависит от того, для чего это всё нужно. В одном случае можно реализовать что-то типа конечного автомата с памятью. В другом случае надобно сделать очередь с анализом при выборке. Ну как-то так )