【问题标题】:CRC (8 bits?) brute force solvingCRC(8位?)暴力破解
【发布时间】: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


【解决方案1】:

正如 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

【讨论】:

  • 这不是错误,有些共享相同的第一个字节。但是给定的字节 2 和 3 将始终给出相同的第一个字节。
  • @Alex - 总是只有 3 个字节吗?如果是这样,您可以制作一个 64K 的表,而不是试图找出算法。
  • 是的,总是有 3 个字节,但我不知道所有可能性的第一个字节......我可以用我所知道的创建一个表,这是我真正开始做的,但是我想知道是否有人遇到过我可以用来“破解”这个算法的方法或蛮力工具?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 2011-03-28
  • 2023-03-12
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多