То есть сделать ndis хук
тогда вам поможет текст вот етот
http://ntdev.h1.ru/ndis_fw.zipХотя не кошерно ето
чем вам например не нравится NDIS IM драйвер
спасибо за участие, на самом деле в том проекте продемонстрирован сплайсинг, а я хотел идти по пути подмены адресов функций, а верный ответ таков...
NdisRegisterProtocol вызывается драйвером, желающим зарегистрировать свой протокол. При этом в структуре NDIS_PROTOCOL_CHARACTERISTICS он передает адреса своих функций, которые будут дергаться ndis ом. Для перехвата поступают следующим образом. Перехватывают вызов NdisRegisterProtocol ( хотя бы подменив смещение в таблице экспорта ). При срабатывании перехватчика, Вы получите заполненную драйвером ( например tcpip.sys ) структуру NDIS_PROTOCOL_CHARACTERISTICS. Перед тем, как вызвать оригинальную версию NdisRegisterProtocol, можно некоторые члены структуры поменить. Сама структура ( NDIS_PROTOCOL_CHARACTERISTICS это псевдоним, реальный тип зависит от версии NDIS интерфейса драйвера ) объявлена в хедере ndis.h и не является секретом.