【问题标题】:CRC32 bruteforce, reversing,CRC32 蛮力,倒车,
【发布时间】:2015-11-11 09:15:32
【问题描述】:

对于互联网挑战,我需要尝试获取密码。但目前我被卡住了。

crc32(bigString) == 0xFFFFFFFF 处获取bigString 值的最佳方法是什么? (0xFFFFFFFF 不是真正的值,我想自己计算,以免破坏其他尝试挑战的人的乐趣)

您已经知道 bigString 是 3 个密码的组合:password1(32 个十六进制字符)+password2(32 个十六进制字符)+password3(40 个十六进制字符)。所以你知道 bigString 是 104 个字符长,唯一可能的值是“0123456789ABCDEF”。

反转是不可能的,仅仅暴力破解似乎几乎是不可能的,因为它有 104 个字符。还有哪些可能?

【问题讨论】:

    标签: reverse-engineering brute-force crc32 cracking


    【解决方案1】:

    我不明白你的挑战,但我可以回答:

    获取 bigString 值的最佳方法是什么? crc32(bigString) == 0xFFFFFFFF ?

    首先,您应该意识到,除非“bigString”只有 32 位,否则该等式有多个解。根据 bigString 中超过 32 的位数,解的数量随着位数的增加呈指数增长。

    我的spoof.c 代码直接求解该方程。您将您拥有的字符串的 CRC 与您想要的 CRC、消息的长度以及您允许更改的消息中的位位置给它异或。对于 CRC-n,需要提供至少 n 个这样的位位置。理想情况下,应该提供更多以增加找到解决方案的可能性。然后,spoof.c 会告诉您要反转哪些位以提供所需的 CRC。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 2021-02-22
      • 2016-11-05
      • 2021-07-24
      相关资源
      最近更新 更多