试图对 Bioweight USB 秤 8 字节有效载荷进行逆向工程

Trying to reverse engineer a Bioweight USB scale 8 byte payload

我正在尝试对 Bioweight USB 秤进行逆向工程。 A 能够通过 USB 端口发送命令并获取 return 值,但通信数据包似乎附加了 2 字节哈希或校验和或某种类型的控制。

这里有一些样本数据包。我知道前 6 个字节的含义,但我认为后 2 个字节只是检查。

谁能看出正在使用哪种检查算法?

它似乎是字节 1 到字节 5 的 CRC-16(即消息的所有字节,除了第一个始终为 0xFF 的字节)。

我通过在 online CRC-16 calculator.

中输入字节“0x03 0x01 0x55 0xAA 0x55”来验证这一点

顺便说一下,每个 USB 数据包都已经附加了一个 CRC-16。我不确定你是如何获得这些数据的;也许您只是看到了 USB 规范中内置的 CRC-16。