【问题标题】:Intercept and modify USB packets拦截和修改USB数据包
【发布时间】:2014-01-20 16:19:51
【问题描述】:

项目如下;

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

  1. 这是一种可行的软件解决方案吗?
  2. 这必须是硬件解决方案吗?

附加信息——

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

感谢任何输入。

【问题讨论】:

  • 在更高级别上执行此操作可能更容易,hooking the function call to the USB device the application makes 是否可以替代?
  • 谢谢,我不确定上面提到的方式,但会调查一下,让你知道我发现了什么。我忘了说这个软件和 USB 设备是第 3 方的,我可以重新编程 USB 设备,但软件解决方案会更容易分享。

标签: c# vb.net usb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2013-07-04
    相关资源
    最近更新 更多