NDIS6过滤驱动的编写

来源:互联网 发布:windows进程内存监控 编辑:程序博客网 时间:2024/05/22 04:38

NDIS6是在WINDOWS VISTA及之后版本的WINDOWS引入的,这时NDIS5的HOOK方式是无法使用的,MSDN推荐的方式是使用过滤驱动,其实也可以使用Intermediate(中间层驱动),下面谈一下它们的利弊,还有一些原理性的东西:
1.为什么NDIS6不动NDIS5的HOOK:

1.因为NDIS6使用了新的函数集和新的数据结构,最重要的是NET_BUFFER替代了NDIS_PACKET,原先所有的使用NDIS_PACKET的PROTOCOL或MINIPORT驱动的接口函数从此完全被报废。
其实对NDIS6也是可以进行HOOK的,但不稳定,通过对OPEN_BLOCK6等结构中的接口函数进行替换,可以对部分的协议驱动实现HOOK,注意:这几个函数都是使用新的NET_BUFFER结构来进行工作,其体函数名可以通过调试看出来,名称中包括List。有兴趣的人可以试一下,总的来说,这些函数与结构的变化比较大,很多工作方式都发生的变化,处理起来更加复杂。

2.IM驱动和过滤驱动相比,有什么利弊之分?
1.IM有最好的通用性,可以在WINXP,WIN2K,VISTA,WIN7中全面兼容,但它对VISTA与WIN7中的支持,是通过在通信函数中加入从NDIS_PACKET至NET_BUFFER转换层实现,所以性能在WIN7下应该是反而减弱了。
2.过滤驱动是直接使用NET_BUFFER来进行通信的,这种方式会有更好性能,主要的原因是NET_BUFFER使用了新的数据表示方法,避免的频繁的内存复制。具体可以参考MSDN。但很明显,它无法支持WINXP及之前的系统。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一元二次方程应用题 一元一次方程应用题 分数混合运算应用题 分段计费问题应用题 二年级加减法应用题 三年级加减法应用题 四年级解方程应用题 二年级上数学应用题 二年级乘除法应用题 2年级下册数学应用题 七年级上数学应用题 三年级上册数学应用题 二年级下册数学应用题 四年级上册数学应用题 四年级上册数学应用题100道 五年级上册数学应用题 小学二年级数学应用题 二年级数学下册应用题大全 三年级下册数学应用题 小学六年级数学应用题 六年级下册数学应用题 七年级上册数学应用题 四年级鸡兔同笼应用题 五年级小数除法应用题 五年级下册数学应用题 三年级上期数学应用题 小学三年级时间应用题 小学二年级数学应用题大全 小学三年级数学应用题上册 六年级工程问题应用题 六年级数学比例应用题 六年级数学工程应用题 五年级鸡兔同笼应用题 10以内的加减法应用题 五年级上册小数除法应用题 小学二年级数学应用题上册 小学三年级上册数学应用题 二年级数学除法应用题 小学二年级除法应用题 二年级下册奥数应用题 七年级数学方程应用题