Re[8]: Куда копать - перехват установления соединения по TC
От: racer  
Дата: 18.07.07 11:57
Оценка: 9 (1)
Здравствуйте, TarasCo, Вы писали:

R>>Неправда Вы это лично проверяли?


TC>а то?


Ну тогда судя по всему проверка остановилась до создания собственного фильтра, а это критично.
Re[7]: Куда копать - перехват установления соединения по TC
От: racer  
Дата: 18.07.07 12:05
Оценка: 6 (1)
Здравствуйте, TarasCo, Вы писали:

TC>А вот клиент TDI:


TC>841d12ec 877c1e08 83822078 841d1308 8c74da48 tcpip!TcpTlProviderConnect

TC>841d1360 877c5e17 02741b80 8c74da48 83887d90 tdx!TdxConnectConnection+0x398
TC>841d137c 81c67cc9 83887c98 8c74da48 8c74da48 tdx!TdxTdiDispatchInternalDeviceControl+0x149
TC>841d1394 87d00470 838aa72c 8c644eb0 838aa630 nt!IofCallDriver+0x63
TC>841d13ac 87d005e1 8c4feb98 91ef71d0 838aa72c netbt!TdiConnect+0xe1

TC>Тут стек с параметрами, можно кой-чего интересного посмотреть:


TC>!devobj 83887c98

TC>Device object (83887c98) is for:
TC> Tcp \Driver\tdx DriverObject 838721b8

TC>Убедились, что это мы видим обработку запроса устройством \Device\tcp, созданного драйвером tdx


TC>0: kd> !drvobj 838721b8 2


TC>Driver object (838721b8) is for:

TC> \Driver\tdx
TC>DriverEntry: 877cd005 tdx!GsDriverEntry
TC>DriverStartIo: 00000000
TC>DriverUnload: 877c75d2 tdx!TdxUnload

TC>Dispatch routines:

TC>....
TC>[0f] IRP_MJ_INTERNAL_DEVICE_CONTROL 877c5cce tdx!TdxTdiDispatchInternalDeviceControl
TC>....

TC>Убедились, что мы видим обработку IRP_MJ_INTERNAL_DEVICE_CONTROL. Можно убедиться, что это запрос TDI_CONNECT


TC>Это я привел для иллюстрации факта, что драйвера afd.sys и tdx.sys являются равноправными, работают параллельно и ни один из них не использует другого.


Эти драйвера по определению не могут быть равноправными, т.к. выполняют разные функции в системе. tdx имеет TDI интерфейс для использования его по назначению TDI клиентами, в том числе AFD. AFD предоставляет юзермодной сокетной библиотеке промежуточный интерфейс для доступа к транспорту. Причем какой именно интерфейс использовать TDI или WSK определяется AFD в рантайме. Если в системе есть фильтры \device\TCP, то вызовы делаются через TDI интерфейс из tdx.sys.
Re[9]: Куда копать - перехват установления соединения по TC
От: TarasCo  
Дата: 18.07.07 13:14
Оценка:
R>Ну тогда судя по всему проверка остановилась до создания собственного фильтра, а это критично.

Проверил, Вы абсолютно правы — при добавлении устройства в стек \device\tcp вызовы перенаправляются в драйвер tdx.sys. Как говориться век живи — век учись.
Да пребудет с тобою сила
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.