hooking посредством модификации таблицы импорта драйвера
Если ты имеешь в виду переписывание указателей на ф-ции обработчики в DRIVER_OBJECT, то действительно такой способ есть, но он позволяет перехватывать входящие сообщения, но не исходящие.
Вобще-то перехват обращения от одного драйвера к другому- это проблема, так как можно перехватывать все обращения к драйверу, но из них надо выделить только идущие от определенного драйвера. Если какой-то драйвер( назовем А)общается с другим драйвером(назовем В), то способ общения может быть таким-
1) Создание IRP в драйвере А и отсылке его В. Тут ты на В ничего определить не сможешь, так как явного указания на драйвер А нигде не хранится.
2) Драйвера в одном стеке(или стеки связаны) и указатель на DEVICE_OBJECT, управляемый А, можно найти в одном из стеков IRP, пришедшего на B.
Я считаю что твоя идея о перехвате обращений одного драйвера к другому сложно осуществима в силу архитектуры NT систем- у них драйверу к которому обращаются не нужна информация о том кто к ним обращается, узнать это можно только косвенным образом, причем 100% надежного способа нет.