C# 拦截和修改USB数据包

C# 拦截和修改USB数据包,c#,vb.net,usb,C#,Vb.net,Usb,该项目如下: 我想创建一个应用程序,将能够看到数据包到一个USB设备。当已知的某个数据位被发送到设备时,返回的数据将在请求它的应用程序获取它之前被截获和修改。我使用USB嗅探器来查看发送的数据包,我确切地知道需要更改哪些位。我的两个问题是, 这是一个可能的软件解决方案吗 这必须是一个硬件解决方案吗 其他信息- USB设备使用FTDI245R芯片进行通信。我知道设备的视频和PID 我有vb.net和C#编程的经验,但我从未用USB做过任何事情 我希望该应用程序能够有一个数字输入和更改为十六进制数

该项目如下:

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

  • 这是一个可能的软件解决方案吗
  • 这必须是一个硬件解决方案吗
  • 其他信息-

    • USB设备使用FTDI245R芯片进行通信。我知道设备的视频和PID
    • 我有vb.net和C#编程的经验,但我从未用USB做过任何事情
    • 我希望该应用程序能够有一个数字输入和更改为十六进制数据,这是什么将被发送到设备。输入的号码将经常更改

    非常感谢您的任何输入。

    我觉得您需要FTDI驱动程序的上过滤器驱动程序。我不知道您使用的是哪种类型的设备,或者它是否有特定于供应商的驱动程序,但是。此示例使用WDK中的OSRUSBFX2设备和示例驱动程序,您将希望更改代码以使其工作并与FTDI驱动程序接口。

    在更高级别上执行此操作可能更容易,但这是一个选项吗?谢谢,我不确定上述方法,但会仔细研究并让您知道我发现了什么。我忘了提到该软件是第三方以及USB设备,我可以重新编程的USB设备,但软件解决方案将更容易共享。