逆向工程CRC数据包

时间:2014-12-10 12:59:57

标签: reverse-engineering crc crc32 crc16

我刚刚开始倒车。

我需要分析一个我认为由CRC检查的数据包。

数据包如下:     1B1B1B1B0101010176058C0D1FAA62006200726500000101760101074553595133420B0901455359110393AC9601016317D00076058C0D1FAB6200620072650000070177010B0901455359110393AC9601726201650000CC5B7A77078181C78203FF01010101044553590177070100000000FF010101010F31455359313136303030393632320177070100010800FF0101621E52FC690000000001B466C00177070100020800FF0101621E52FC69000000000200B2000177070100010801FF0101621E520165000000950177070100010802FF0101621E520165000000890177070100020801FF0101621E520165000000CE0177070100020802FF0101621E520165000000820177070100010700FF0101621B52FE55000000000177070100600505FF01010101630100010101639EEC0076058C0D1FAC62006200726500000201710163CA5200001B1B1B1B1A011BFC

从我的想法到现在为止,这个包含帧信息和以太网信息的十六进制字符串的第一部分是:1B1B1B1B0101010176058C0D1

之后,它已经是CRC' d。

的所有数据

有什么方法可以反转CRC并读取数据?????我怎么知道它的基础是什么?(16/32/64) (我有更多像这样的包)

感谢您的回答..!

2 个答案:

答案 0 :(得分:0)

循环冗余校验(CRC)是输入数据的单向散列。由于它是散列,而不是加密或编码,因此无法确定原始数据,因为将有多个有效输入可以提供相同的结果。

答案 1 :(得分:0)

通过将CRC附加到数据来使用它们。原始数据仍然没有改变,因此您已经可以阅读数据"。

至于确定使用什么CRC,您可以使用RevEng,但是您需要尝试使用不同CRC位置和大小的猜测,并且您需要使用几个数据示例。