首页 > 解决方案 > CRC(8位?)暴力破解

问题描述

我有 3 个字节的数据集,其 CRC 代码可能为 CRC-8(计算可能包含更多位并被截断),我想知道它是如何计算的。有没有办法暴力破解算法和参数?我用reveng试了一下,但它说“找不到模型”。

样本数据(十六进制):

1F 00 00
D7 01 00
F7 02 00
B5 03 00
E5 04 00
0E 05 00
23 06 00
8A 07 00
F0 08 00
2A 09 00
74 0A 00
05 0B 00
47 0C 00
D5 0D 00
8B 0E 00
51 0F 00
FF 10 00
37 11 00
17 12 00
55 13 00
05 14 00
EE 15 00
C3 16 00
6A 17 00
10 18 00
CA 19 00
94 1A 00
E5 1B 00
A7 1C 00
35 1D 00
6B 1E 00
B1 1F 00
F0 20 00
38 21 00
18 22 00
5A 23 00
0A 24 00
E1 25 00
CC 26 00
65 27 00
1F 28 00
C5 29 00
9B 2A 00
EA 2B 00
A8 2C 00
3A 2D 00
64 2E 00
BE 2F 00
F5 A1 00
D5 A2 00
97 A3 00
C7 A4 00
2C A5 00
01 A6 00
A8 A7 00
D2 A8 00
08 A9 00
56 AA 00
27 AB 00
65 AC 00
F7 AD 00
A9 AE 00
73 AF 00
32 90 00
FA 91 00
DA 92 00
98 93 00
C8 94 00
23 95 00
0E 96 00
A7 97 00
DD 98 00
07 99 00
59 9A 00
28 9B 00
6A 9C 00
F8 9D 00
A6 9E 00
7C 9F 00
0E 50 00
C6 51 00
E6 52 00
A4 53 00
F4 54 00
1F 55 00
32 56 00
9B 57 00
E1 58 00
3B 59 00
65 5A 00
14 5B 00
56 5C 00
C4 5D 00
9A 5E 00
40 5F 00
01 60 00
C9 61 00
E9 62 00
AB 63 00
FB 64 00
10 65 00
3D 66 00
94 67 00
EE 68 00
34 69 00
6A 6A 00
1B 6B 00
59 6C 00
CB 6D 00
95 6E 00
4F 6F 00

第一个字节是CRC,另外两个字节是数据。

并尝试复仇:

reveng -w 8 -s 00001f 0100d7 0200f7 0300b5 0400e5 05000e

给我“找不到模型”

谢谢

标签: crcbrute-force

解决方案


正如 Mark Adler 所回答的,这不是 CRC。检查这一点的一种方法是对两个示例进行异或运算,看看您是否得到第三个示例。如

F7 02 00 xor B5 03 00 = 42 01 00, which doesn't match D7 01 00

如果 crc 是后补的,那么 42 -> BD 仍然与 D7 不匹配。


更新 - 有多个条目具有相同的第一个字节,这是一个错误吗?

01 A6 00 and 01 60 00
0E 05 00 and 0E 50 00 and 0E 96 00
23 06 00 and 23 95 00

推荐阅读