-
-
[求助]Ndis Protocol假协议发包问题
-
发表于:
2014-9-22 13:44
3643
-
Rt, 大家好,我想通过注册假协议的方式,捕获发送的数据包,修改相关内容后,发送。
目前的实现和遇到的问题:
实现: 只针对Tcpip对应的Block的SendHandler和SendCompleteHandler进行函数的替换。
在MySendHandler中,如果判断packet是需要过滤的数据包,则我的驱动负责分配相应资源,并发送数据包,并且在MySendHandler中对原始Send返回NDIS_STATUS_FAILURE .
在MySendComplete中,如果判断是自己发送的packet,则回收相应资源,如果不是,则调用原始的SendComplete。
遇到的问题: 通过wireshark抓包可以抓到自己发送的新packet,但是在完成函数进行资源回收之后,系统蓝屏。并且蓝屏的时机有时是在MySendHandler返回之前。
请教一下大家,上述实现是否存在逻辑问题? 谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课