【问题标题】:Is this CRC-32, if not, what could it be?这是 CRC-32,如果不是,它会是什么?
【发布时间】:2014-01-20 01:28:24
【问题描述】:

编辑:事实证明这是一种自定义校验和算法,而不是 CRC-32。对于好奇的 C 代码 here is a snippet 在下面的示例中计算 21 FF 1D E4 校验和。

我正在处理一些似乎受某种 CRC-32 保护的十六进制文件,但使用标准 CRC-32 和其他已知参数重新计算未能产生匹配。

我所知道的是,数据跨越 116 个字节和 4 个额外字节用于校验和。我可以生成大量消息-密钥对的示例,但我找不到它们之间的任何关系。

我不想用十六进制转储来填充这篇文章,所以我在这里粘贴了几个:http://mathb.in/12246

11 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 FF 1D E4

这可能是带有一些奇怪设置的 CRC-32,还是完全不同?有什么方法可以确定校验和是如何产生的?

更新:我能够在消息中进行 1 位的微小更改:

0000000000000000000000000000000000000000000000000000000000, 32C9A1E6 000000000000000000000000000000000000000000000000000000001, BD25904E 0000000000000000000000000000000000000000000000000000000002, B437A286 000000000000000000000000000000000000000000000000000000003, 8AB790EE 000000000000000000000000000000000000000000000000000000004, 2DDC3AEB 000000000000000000000000000000000000000000000000000000005, 208B3859 0000000000000000000000000000000000000000000000000000000006, 87E0925C 000000000000000000000000000000000000000000000000000000007, E59391AE 0000000000000000000000000000000000000000000000000000000008, B07292FC 000000000000000000000000000000000000000000000000000000009, 830EA655

在不适当更新校验和的情况下更改任何内容会创建一条被拒绝的消息。

如果由于叠加原理(异或校验)而不能是 CRC-32,是否有任何方法可以执行分析以查找消息和校验和对中的任何属性或模式?

【问题讨论】:

    标签: hex reverse-engineering checksum crc32


    【解决方案1】:

    假设您在链接的示例中得到了正确的消息和检查值,那么它不是 CRC。对于消息的 GF(2) 上的 CRC 或任何线性函数,如果消息 1 与消息 2 异或等于消息 3 与消息 4 异或,则应该是相同的检查值是否为真。

    您的消息中只有一个字节不同。由于 45 ^ 4A == 43 ^ 4C,因此异或时关联的检查值也应该相等。他们不是。

    如果您确实有 CRC,那么您可以使用reveng 尝试梳理出 CRC 参数。

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多