识别使用的CRC-16算法

时间:2018-07-17 09:51:29

标签: crc crc16

我正在尝试通过串行通信协议与设备进行通信,并且在查找消息的后2个字节所使用的校验和/ CRC算法时遇到了一些麻烦。我在各种在线crc实用程序中尝试了几种CRC16算法,例如: http://www.sunshine2k.de/coding/javascript/crc/crc_js.html http://www.zorc.breitbandkatze.de/crc.html

在REVENG软件的帮助下,我也尝试过反向工程,但是它偶尔会产生一些随机结果(取决于我尝试捕获的消息中的哪个示例),这似乎是不正确的匹配所有示例的算法。

我还没有找到该设备的任何文档,这些文档可以表明所使用的CRC16算法或其他某种变体,例如CRC32的最低字节。

以下是两种类型的消息,每种消息都有一些不同的示例和变体。消息的前4个字节告诉消息重命名的字节数。很可能这4个首字节不应该包含在CRC计算中,但这只是一个猜测。我认为16宽CRC是每个邮件的最后2个字节。

消息类型1(示例):

0000000908100300180180a4621a8

0000000901100300180a463a11

0000000909100300180a461f26

0000000902100300180a4649f9

000000090a100300180a466cce

0000000903100300180a46fb58

000000090b100300180a46de6f

消息类型2(示例):

0000001f09131900180a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a7a0

0000001f0913190018141414141414141414141414141414141414141141141141414f3a5

0000001f09131900181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e3d38

0000001f0913190018282828282828282828282822828282828282828282828e82f

0000001f09131900183232323232323232323232323232323232323232323232332321762

0000001f001319001814ffffffffffffffffffffffffffffffffffffffffffff3d16

0000001f00131900181effffffffffffffffffffffffffffffffffffffffffffff2e93

0000001f001319001828ffffffffffffffffffffffffffffffffffffffffffffff3438

0000001f00131900185fffffffffffffffffffffffffffffffffffffffffffffac2b

任何知道CRC知识的人都可以向我指出正确的方向吗?

2 个答案:

答案 0 :(得分:0)

这不是CRC-16。我运行了一个简单的蛮力搜索。

答案 1 :(得分:0)

还有更多消息,其中最后一个“数据”字节中只有一个或两个在变化,这些消息在最后2个校验和字节上显示出更多的逻辑行为,但仍不清楚如何构造算法进行计算。

0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF066B7C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF075A7C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08557C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09547C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A577C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B567C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C517C 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0606FFA285 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07FFA284 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08FFA28B 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09FFA28A 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0AFFA289 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0BFFA288 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CFFA28F 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DFFA28E 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06065B85 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07007075A84 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0808558B 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0909548A 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A0A5789 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B0B5688 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C0C518F 0113190018FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D0D508E

全套1200条消息,位于:http://dpaste.com/0DSMZJV