Есть ли обратный вызов режима ядра для LdrLoadDll?

Я пытаюсь создать профилировщик exe и теперь хочу отследить/записать все DLL, которые загружаются/используются в exe, перехватывая LdrLoadDll в драйвере режима ядра (в прошлом я создал пользовательский режим ). Моя проблема в 64-битной версии Windows, потому что в 64-битной я не могу использовать перехват SSDT и не могу найти альтернативного решения для этого.

В 64-разрядной версии есть обратные вызовы режима ядра, например: PsSetCreateProcessNotifyRoutine (альтернатива перехвату CreateProcess), но я не могу найти решения для этого случая. Теперь мой вопрос: существует ли обратный вызов режима ядра для LdrLoadDll? Или мне нужно найти решение для перехвата 64-битного ядра?


person Kamran    schedule 02.09.2014    source источник


Ответы (1)


Вы можете использовать PsSetLoadImageNotifyRoutine для регистрации обратного вызова, предоставляемого драйвером. Ваш обратный вызов будет вызван, когда образ драйвера или образ пользователя (DLL, EXE) отображается в виртуальную память.

Windows вызывает этот обратный вызов на уровне PASSIVE_LEVEL.

person QuangNHb    schedule 03.11.2014