使用CRC RevEng进行CRC逆向工程

问题描述 投票:0回答:1

我正在尝试解码具有3字节CRC的9字节RS-485数据包,如下所示。使用SW串行监视器我已使用在线计算器解码参数部分。

我知道可以使用8位Checksum8 Modulo 256来计算Byte7。我的问题是我无法确定CRC的最后2个字节。我已经附加了来自更好的CRC解码器的输出,它找到了一个模型而不是一个名字。我提供了4个完整的9字节数据包。

reveng -w8 -sF 9BYTEPACKET1 9BYTEPACKET2 9BYTEPACKET3 9BYTEPACKET4  

并且如图像链接所示,它返回:

width=8,poly=0x01,init=0x00,refin=false,refout=false,xorout=0x00,check=0x31,residue=0x00,name="(none)"    

样本数据:

00 32 2a ff ff cd 27 03 f1      
00 20 03 ff ff cd ee 02 02      
00 13 28 ff ff cd 06 03 f3      
00 13 02 ff ff cd e0 02 3e     

Byte1 = ID(Can Change)      
Byte2 = Parameter(Can Change)      
Byte3 = Parameter(Can Change)     

Byte4 = 0xFF (Never changes)      
Byte5 = 0xFF (Never changes)      
Byte6 = 0xCD (Never changes)  
Byte7 = Checksum8 Modulo 256 (I can calculate this from Byte1 to Byte6)     
Byte8 = CRC (Changes with diff Parameter data)     
Byte9 = CRC (Changes with diff Parameter data)    

任何帮助,将不胜感激。

crc
1个回答
1
投票

Byte8和Byte7只是前端字节的总和,以little-endian顺序排列。然后,字节9是前面字节的异或。

没有CRC。

© www.soinside.com 2019 - 2024. All rights reserved.