WinUSB 应用程序或用户模式驱动程序作为 USB 分析/嗅探器/趋势的过滤器驱动程序

Bob*_*Bob 5 windows usb driver sniffer

一个问题可能是一些广泛使用 WinUSB API 或用户模式 ​​USB 驱动程序的人 - WinUSB API 或用户模式驱动程序是否可以用作 USB 连接的被动观察者,捕获中断通知、控制请求、数据传输等。在不干扰其他应用程序(例如 iTunes)的情况下,这显然需要同时访问设备,同时我的应用程序正在监视连接并在其上显示数据?

或者您几乎必须编写内核模式过滤器驱动程序并将自己注入 USB 堆栈才能实现这一点?

过去,有一些可靠的选项(具体来说是 libusb-win32 和 usbsnoop),尽管它们都是围绕旧的 DDK 构建的,而不是 Windows Driver Foundation,并且不再定期得到真正的支持。因此,我很犹豫要不要在他们周围建立一些重要的东西。

Ily*_*lya 4

您必须编写一个过滤器驱动程序。没有其他方法可以拦截其他设备生成的流量。您可以使用更新版本的 DDK,即 KMDF 来完成此任务。它会让你的生活更轻松。但我认为购买一个硬件总线分析仪会更便宜、更有效。

OSR有很好的概述。您必须登录才能阅读本文,但如果您要进行任何内核模式开发,我强烈建议您无论如何都登录。