当前位置: 首页 > 知识库问答 >
问题:

CRC-16算法的识别

上官飞
2023-03-14

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

我也尝试了逆向工程,在REVENG软件的帮助下,但它只提供一些偶尔的随机点击(取决于我一起尝试捕获消息中的哪一个示例),这似乎不是一个匹配所有示例的正确算法。

消息类型1(示例):

0000000908100300180A4621A8

0000000901100300180A463A11

0000001F09131900180A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0BE0

0000001F0913190018141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414

0000001F09131900181E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E

0000001F0913190018282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828

0000001F09131900183232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321762

0000001F001319001814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

0000001f00131900181efffffffffffffffffffffffffffffffffff 2e93

0000001F001319001828FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

0000001F00131900185FFFFFFFFFFFFFFFFFFF

有谁对CRC有一些了解,可以给我指明正确的方向来解决这个问题吗?

共有1个答案

终翰学
2023-03-14

不是CRC-16。我做了一个简单的暴力搜索。

 类似资料:
  • 我有一个通过RS232 COM与计算机通信的终端。我得到的协议说,我必须发送一定的字节组合和CRC 16 IBM计算的数据在最后发送 我还得到了一个C编写的应用程序,我可以用它来测试,该应用程序编写了一个带有发送数据和接收数据的日志。在该日志中,我查看是否向终端发送了以下字符串。我还必须发送数据06 35的这个CRC16 IBM结果。 我已经设法以某种方式将作为示例给出的C方法翻译成C#。但我的结

  • 我正在努力对与CRC-16校验和相关的一段数据进行反向工程。我知道用来计算原始校验和的多项式是,但没有别的,我不知道初始值(如果有),最终异或值(如果有),如果输入或结果被反映... 似乎有一个已知的CRC-16生成器使用thing polynom,CRC-16-CCITT,但尽管我尝试了所有的方法,我还是不能理解原始校验和是如何计算的。

  • 因此,我的问题是:如何从整数结果到所需的双十六进制结果?我试了几个选择,都没有成功。 注意:我使用的是Qt,所以如果有人能找到实现QByteArray或其他Qt友好代码的解决方案,我会很高兴的。无论哪种方式,不使用Qt、C或C++的解决方案都是无用的:P

  • FF-源地址 53-数据 70-数据

  • http://www.lammertbies.nl/comm/info/crc-calculation.html http://www.codeproject.com/articles/19059/c-ccitt-crc-algorithm 在上面与字节数组{0xee,0x01,0x13,0x00,0x06,0x1c,0x00,0x20,0x1d,0x00,0x00}的链接中,它使用CRC8(po

  • 我需要帮助试图验证CRC-16值(也需要帮助与CRC-32值)。我试图坐下来了解CRC是如何工作的,但我一片空白。 更多信息如下: --编辑-- 我已经包括了更多的信息。我引用的文档是TIA-102.BAAA-A(来自TIA标准)。以下是文档陈述的内容(试图尽可能避免侵犯版权): FM(x)的系数被放置在CRC字段中,其中CRC的第0个八位元组的MSB对应于x^31,而CRC的第3个八位元组的LS