【发布时间】:2018-12-03 05:14:32
【问题描述】:
我有 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:
reveng -w 8 -s 00001f 0100d7 0200f7 0300b5 0400e5 05000e
给我“找不到模型”
谢谢
【问题讨论】:
-
这不是 CRC。我可以判断,因为它不是其他位的线性函数。
-
马克和@rcgldr,谢谢你们的cmets!我认为这比 CRC 复杂一些,因为 Reveng 没有找到解决方案。由于它不是 CRC,您是否知道我可以用来查找算法的工具或方法? (我有更多的样本数据,一旦找到,我可以用来确认算法)
-
我更新了我的答案,注意到有两个表条目具有相同的第一个字节:01 A6 00 和 01 60 00
标签: crc brute-force