Привет всем! Делаю драйвер NDIS для перехвата и посылки пакетов. Делаю так - регистрирую протокол вызовом NdisRegisterProtocol, протокол регистрируется удачно, после этого пытаюсь открыть адаптер вызовом NdisOpenAdapter, который возвращает NDIS_STATUS_ADAPTER_NOT_FOUND, я перепробовал все устройства \Device\{GUID}, которые нашел в HKLM\SYSTEM\CurrentControlSet\Services\TcpIp\Linkage; раздела HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards у меня не оказалось, т.к. нет сетевой карты - только виртальная сеть VMware и dial-up подключение. Странно, что пример из DDK, ndisprot, не работает, из DDK: Use the –e option to enumerate all devices to which NDISPROT is bound: C:\uio>uiotest -e 0. \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F} - Intel-Based 10/100 Ethernet Card - у меня вообще ничего не показывает... может ему требуются _только_ сетевые карты? И если так, то каким образом перехватывать пакеты??
Пытаешся сразу после NdisRegisterProtocol? Или в обработчике BindAdapter? И вообще, не видя кода что-то конкретное сказать сложно. Могу только предположить, что у тебя не происходит BindAdapter.
Да, делаю NdisOpenAdapter сразу после NdisRegisterProtocol, как в Rootkits: Subverting the Windows Kernel написано Сорцы в аттаче, посмотрите, пожалуйста. А OnBindAdapter и правда не вызывается..
Меньше надо читать "Subverting the Windows Kernel" и больше читать DDK, где написано, что начиная с windiws2000 уже нельзя вызывать NdisOpenAdapter прежде чем произойдет ProtocolBindAdapter. Чтобы адаптер забиндился, имя протокола должно быть прописано в реестре в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Class\{4D36E972-E325-11CE -BFC1-08002bE10318} в параметре UpperBind ключа соответствующего нужному адаптеру. Для установки драйвера можно использовать inf файлы. либо просто прописать все что надо в реестре вручную. В качестве примера смотри сорцы winpcap (скорее всего для перехвата и посылки пакетов он тебе сгодиться, не нужно писать свой аналог).
Хе-хе, будем впредь рыться в DDK Точно, нужно было сразу вспомнить про WinPcap, буду разбираться... Ms Rem спасибо за разъяснение