我有大约750字节长的数据,受CRC保护。我想对数据进行更改,但不知道CRC方案意味着我不能这样做。但我有幸观察样本数据的CRC值。我使用了这个非常酷的数学技术here
我将CRC识别为数据块的最后两个字节,因为当我只改变1位数据并对其进行异或时,除了该位和最后两个字节外,结果全为零。
我能够为这样的差异消息生成C1,C2:
byte 222 = 0x01; CRC = 0x6D10
byte 222 = 0x02; CRC = 0xEA6D
byte 222 = 0x04; CRC = 0xA494
byte 222 = 0x08; CRC = 0x3966
由于消息是上述链接中描述的“差异消息”,我们可以安全地忽略CRC的XorIn和XorOut值。但reflectIn和ReflectOut参数仍然可以影响该过程。对于所有四种组合,我检查当C2的MSB为零时(C2 <&lt; 1)XOR C1是否为零。但这种情况并非如此。我想知道我哪里出错了。