假设有一个 USB 记忆棒专门用于存储日期或日期或某种任意数据。为了访问数据,您必须拥有该软件。
有什么方法可以分析 USB 信号并让您自己的硬件读取闪存驱动器上的值?有哪些方法可以做到这一点?
假设有一个 USB 记忆棒专门用于存储日期或日期或某种任意数据。为了访问数据,您必须拥有该软件。
有什么方法可以分析 USB 信号并让您自己的硬件读取闪存驱动器上的值?有哪些方法可以做到这一点?
是的。
我对HHD的软件非常满意。几年前,我使用串行端口监视器进行了一些繁重的逆向工程,而 HHD 软件非常适合这项工作。
我涉足了他们的 USB 嗅探器版本,但从未购买完整版。过去有一个免费试用版,有点用处。他们可能仍然拥有它。
无论如何,我对 USB 感到困惑,因为我不知道如何在 Windows 中制作“驱动程序”。如果您使用的是 Linux,则该项目可能会容易一些,因为所有低级驱动程序 I/O 逻辑都可以在内核代码中轻松访问。此外,Linux 2.6 在 /dev 下提供了一些设备,可用于直接向 USB 设备发送/接收,而无需任何特殊的模块/驱动程序。非常适合开发。
逆向工程 USB 可能是一个挑战;有很多数据需要整理。
首先,您必须了解协议;我发现USB in a Nutshell非常好。
然后,您需要某种方式来收集流量并对其进行分析。它至少需要一些软件,可能还需要一些硬件。我在工作中使用硬件 USB 分析仪,但它们很贵。我知道可以在 Linux 中使用 Virtualbox 并收集 USB 流量,但我从未这样做过。您可以从Virtual USB Analyzer开始。
我认为您指的是用于软件保护的 USB 加密狗。它们不使用标准的 USB HID 或 MASS STORAGE 设备类,通常实现自己的协议并提供自己的 PC 端驱动程序与它们通信。PC 应用程序通常要求他们正确回复发送的加密消息,或者他们提供一些 PC 应用程序中不存在的关键信息,这些信息是应用程序正常工作所需的。这些消息可以被嗅探,就像通过 USB 的其他任何东西一样,但要小心,因为你可能会走在边缘。自我教育 USB 是一回事,但发布破坏软件保护的作品是不合法的,会受到起诉。不要这样做。如果我误解了这个问题,我深表歉意。
您可以使用 Wireshark 分析 USB 流量:http ://wiki.wireshark.org/CaptureSetup/USB
Wireshark 是免费软件,以其网络分析功能而闻名,但不久之后它也进行 USB 嗅探。