反向工程USB信号


8

假设有一个USB记忆棒,专门用于存储日期或日期或某种任意数据。为了访问数据,您必须具有软件。

有什么方法可以分析USB信号并使自己的硬件读取闪存驱动器上的值?有哪些方法可以这样做?

Answers:


7

是。

我对HHD软件感到非常满意。几年前,我使用串行端口监视器进行了一些繁重的逆向工程,并且HHD软件针对该工作量身定制。

我涉猎了他们的USB嗅探器版本,但从未购买完整版本。过去有一个免费试用版,该版本有些有用。他们可能仍然有。

无论如何,我无法使用USB,因为我不知道如何在Windows中制作“驱动程序”。如果您使用的是Linux,则该项目可能会容易一些,因为所有这些低级驱动程序I / O逻辑都可以在内核代码中轻松访问。另外,Linux 2.6在/ dev下提供了一些设备,可用于直接发送/接收到USB设备,而无需任何特殊的模块/驱动程序。伟大的发展。


我对在Linux下对MSP430 Launchpad开发板的USB通信进行一些反向工程感兴趣。您知道在哪里可以直接与/ dev通信的设备上的一些信息吗?
pfyon 2010年

1
前一段时间,我正在研究Linux用户空间USB接口。(我最终只为Windows和OS X编程)我可以找到的关于/ proc接口的唯一信息是在libusb库中(它使用该接口)和内核源代码本身(我不记得链接或文件名了)不再)。
2010年

4

反向工程USB可能是一个挑战。有很多数据需要分类。

首先,您必须了解协议;我发现坚果壳中的USB相当不错。

然后,您需要某种方式来收集流量并对其进行分析。它至少需要一些软件,可能还需要一些硬件。我在工作时使用硬件USB分析仪,但价格昂贵。我知道可以在Linux中使用Virtualbox并收集USB流量,但是我从未做到过。您可以从Virtual USB Analyzer开始。


我经常使用Ellisys USB分析仪。当有人说“ X设备很贵”时,正确的回答是“与什么相比?” (在最近的一个工作案例中,我被告知代码中的某些内容不起作用。我花了几分钟与Ellisys一起证明问题出在其他地方,并且大部分时间都是在将问题联系上进行测试。)
John R. Strohm 2013年

2

我认为您指的是用于软件保护的USB软件狗。它们不使用标准的USB HID或MASS STORAGE设备类,并且通常实现自己的协议,并提供自己的PC端驱动程序以与它们进行通信。PC应用程序通常要求他们正确答复发送的加密消息,或者它们提供PC应用程序中不存在的一些关键信息,这些信息是应用程序正常工作所必需的。这些消息可以像通过USB传输的其他消息一样被嗅探,但是请注意,因为您可能会走在边缘。对USB进行自我教育是一回事,但是发布破坏软件保护的工作是非法的,将受到起诉。不要这样 如果我误解了这个问题,我深表歉意。


在某些国家/地区是非法的,但不是全部。
pfyon 2010年

无论如何,解码流量并不是一件容易的事。
Erik Friesen 2013年

2

您可以使用Wireshark分析USB流量:http : //wiki.wireshark.org/CaptureSetup/USB

Wireshark是免费软件,以其网络分析功能而闻名,但由于有一段时间它也进行USB嗅探。


值得注意的是,USB捕获基本上需要Linux。您可以通过在Linux上的VM中运行Windows来捕获Windows USB通信。
康纳·沃尔夫

如果您需要Windows USB嗅探解决方案,则VMWare可以通过Windows主机记录usb流量,尽管您仍然必须将实际的usb设备连接到VM。
康纳·沃尔夫



0

有大量的软件和硬件解决方案。捕获数据并进行分析不是问题,但是您需要了解USB记忆棒中的内容。我见过有人在开发带有嵌入式处理器和AES加密的USB记忆棒。(本地加密/解密)。不知道这个USB记忆棒到底是什么,很难知道您可以从流量中学到什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.