我试图对通过串口接收到的一些数据进行反向工程。

发送数据的硬件包括一个gps,指南针和一个电源监视单元(用于发送有关电池的信息)。

我收到了三种长度不一的消息。这些内容如下:

55 BB 55 BB 33 00 E7 29 B4 BD D7 82 61 39 23 C4 04 74 04 38 6B 02 12 8E 8D F3 E3 D7 4B 59 91 9C 01 98 0F C5 43 95 D2 03 D2 CC 4B B1 9A A2 54 8C 99 4A 00 DD 02 AB CD 

55 BB 55 BB 38 00 85 1F EA BD DE D0 87 7F 14 9A 5C 46 78 7A D1 E7 29 56 2E 7D F9 A9 FF DE E4 6C F2 F5 26 0D EF CD 6A ED B0 28 1D 9E DB 9D 8E BA 5F 58 26 3F B3 DD 03 00 A6 73 AB CD

55 BB 55 BB 24 00 F3 8B FD F6 BF D0 B0 06 05 8D 7C 40 19 CF 29 72 0E 88 B5 0F 4E 56 67 1C 56 AE F8 A3 01 00 DE 05 AB CD


到目前为止,我所了解的是:


每个消息都以55 BB开头55 BB我假设这是消息头。
字段(字节5)是从第5个字节到最后一个字节的消息长度。
然后是00,可能标志着有效负载的开始。
最后两个字节始终是AB CD,可能是结尾标头。
最后四个字节和最后一个字节可能是邮件的校验和。
最后五个字节始终为零,这可能表示有效负载的结尾。

校验和是通过使用TCP备用校验和选项文档(rfc1145)中介绍的8位Fletcher校验和算法获得的。

有效负载中的数据不会生成感。我必须弄清楚顺序以及可能发生的任何加密。似乎他们在对数据进行Xor处理,并且Xor掩码每次都会更改。但是他们正在发送数据中的Xor掩码。我尝试对每个字节的整个字符串进行异或运算,但无法获得与纬度/经度的已知值相似的结果。

有人可以提供一些有关如何进行的指导吗?

这里以前已经做过一些工作。 Rcgroups Post#15

这是一个包含其余数据的rft文件。
4shared Link RTF File

评论

您可能对以下问题感兴趣:检测和破坏xor加密的最有效方法是什么?

您知道设备中装有哪种GPS吗?我对我可能可以提供帮助的几种GPS协议相当了解。如果是较旧的GPS,则可以采用非标准浮点格式进行编码,例如VAX Double或CAPS 48位浮点等。

到底开放了什么? rcgroups.com/forums/showpost.php?p=26248426&postcount=62
有很多工作要做
您能告诉您预期会出现在样本中某处的时间吗?另外,您能否以非Windows某种格式共享其余数据?一些使用使用其他操作系统。另外,如果它确实是RTF,则用于自动处理的更简单的格式将是纯文本或纯二进制。

我将尽快分享细节。感谢@Edward的支持