拦截和修改USB数据包

时间:2014-01-20 16:19:51

标签: c# vb.net usb

该项目如下;

我想创建一个能够看到发送到USB设备的数据包的应用程序。当一定数量的已知数据被发送到设备时,返回的数据将在应用程序请求之前被拦截和修改,得到它。我使用USB嗅探器来查看正在发送的数据包,我确切地知道需要更改哪些比特。我的两个问题是;

  1. 这是一个可能的软件解决方案吗?
  2. 这必须是硬件解决方案吗?
  3. 其他信息 -

    • USB设备使用FTDI245R芯片进行通信。我知道设备的VID和PID。
    • 我有在vb.net和C#编程的经验,但我从来没有用USB做过任何事情
    • 我希望应用程序能够输入一个数字并更改为十六进制数据,这就是将要发送到设备的内容。输入的数字会经常更改。

    赞赏任何意见。

1 个答案:

答案 0 :(得分:1)

听起来我想要一个FTDI驱动程序的上层过滤器驱动程序。我不知道您使用的设备类别或类型,或者是否有特定于供应商的驱动程序,但here is a sample that shows how to create an upper filter to a vendor specific driver。此示例使用WDK中的OSRUSBFX2设备和示例驱动程序,您需要将代码更改为工作并与FTDI驱动程序接口。