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

Discussion in 'WASM.NT.KERNEL' started by katrus, Oct 13, 2009.

  1. katrus

    katrus New Member

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

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
     
  3. katrus

    katrus New Member

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

    VirMaker New Member

    Blog Posts:
    0
    Joined:
    Dec 4, 2008
    Messages:
    20
    1. Вызывается каждый раз при загрузке нового модуля
    2. Выгружай драйвер для одной итерации
     
  5. x64

    x64 New Member

    Blog Posts:
    0
    Joined:
    Jul 29, 2008
    Messages:
    1,370
    Location:
    Россия
    "Почему" вопрос тут не самый интересный, потому как один хрен изменить это поведение возможным не представляется. А решить эту проблему можно, но способ решения зависит от того, для чего это всё нужно. В одном случае можно реализовать что-то типа конечного автомата с памятью. В другом случае надобно сделать очередь с анализом при выборке. Ну как-то так )