阅读:1171回复:0
发现外设过滤驱动的一个大问题【简单卸载刷新即可绕过】!!!
小弟通过编写toplevel的外设过滤驱动(在WDM中的FILTER的基础上面修改的),通过拦截SCSI对于U盘插入可以进行读写控制。设备注册采用的是IRP_MN_QUERY_DEVICE_RELATIONS消息中进行绑定。工作比较正常!不过现在发现BUG,插入U盘后,不能使用,只需要到设备管理器中卸载该外设,然后刷新重新找一个设备,此时U盘就出来了,而且读写正常,控制失败,而且卸载后重新找到的U盘此时读写的SCSI指令在DriverObject->MajorFunction[IRP_MJ_SCSI] = FilterDispatchScsi;DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = FilterDispatchIo;均截获不到了!!将一个U盘插入USB口,和卸载后刷新找到一个U盘,之间究竟有什么区别呢,恳请高手指点一二,谢谢!!
|
|