我有一个用一个字节编码的二进制文件单字节异或,我试图用暴力破解文件并将生成的文件的哈希与原始文件进行比较,但找不到它,我与作者确认了原始哈希。
我写的代码
#!/usr/bin/env python3
def bin_xor(data, key):
for i in range(len(data)):
data[i] ^= key
return data
data = bytearray(open('sample', 'rb').read())
for key in range(0x00,0xff):
decoded = bin_xor(data, key)
name = str(key) + '.bin'
open(name, "wb").write(decoded)
它将生成255个.bin文件,然后我比较文件的哈希,但没有找到它。
答案 0 :(得分:1)
通过使用AMAZON.NextIntent
中的0xff
的终止值,实际上您实际上缺少了range
。
对于正步,范围r的内容由 公式r [i] =开始+步骤* i,其中i> = 0且r [i] <停止。
您应该改用0xff
作为终止值。
0x100