查找二手CRC-16算法

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

我正在努力对与CRC-16校验和相关的部分数据进行反向工程。我知道用于计算原始校验和的多项式为0x8408,但除此之外,我不知道初始值(如果有),最终XOR值(如果有),输入或结果是否得到反映...] >

似乎有一个已知的使用事物多项式的CRC-16生成器,CRC-16-CCITT

,但是尽管我尝试了一切,但我还是不明白如何计算原始校验和。

以下是我与他们各自的校验和一起得到的数据。我还包括了一个介于数据和校验和之间的字节,它是递增的,而不管它是否经过计算。 (请参阅最后两行,数据几乎相同,增量不相同,但校验和相同)

|                           DATA                           |Inc|CRC|
|----------------------------------------------------------|---|---|
00 00 00 00 00 00 01 ef f7 fe ef ff fd ef fb fa fd a2 aa 21 01 f4 e0
00 00 00 00 00 00 01 ef f7 fd ef ff fd fe fb fa fd a2 aa 21 02 f4 d1
00 00 00 00 00 00 01 f7 fe fd fd ff fd df ff fb fd a2 aa 21 03 f4 cd
00 00 00 00 00 00 01 f7 fe fe fd ff f7 ef ff fa fd a2 aa 21 04 f4 c2
00 00 00 00 00 00 01 ef f7 fe ef ff fe ef fb fa fd a2 aa 21 05 f4 db
00 00 00 00 00 00 01 ef f7 fe ef ff fd ef fb fa fd a2 aa 21 06 f4 db

我正在努力对与CRC-16校验和相关的部分数据进行反向工程。我知道用于计算原始校验和的多项式为0x8408,但除此之外,我不知道初始...

reverse-engineering checksum crc crc16
1个回答
2
投票

每行的最后一个字节似乎是0xF3 +除最后一个字节(包括0xF4)之外的所有字节的负和。此代码适用于5个示例:

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