含有crc32(3位)的crackme逆向分析与破解
题目文件:
拖入ida反编译:
可以发现程序很简单,就是一个verify函数来检查输入
跟进去看一下
发现crc32校验,先校验前3位,再校验前6位,因为前面三位可以爆破出来,检验前六位的时候相当爆破后六位
上脚本:
import binascii
import string,itertools
def getString(before,cipher):
symbols = string.printable
for i in itertools.permutations(symbols,3):
t = before+"".join(i)
if (binascii.crc32(t)&0xffffffff)==cipher:
return t
def main():
flag = ""
data =
print len(data)
for i in range(0,len(data)):
flag = getString(flag,data)
print flag
if __name__=="__main__":
main()
结果:
厉害厉害 老哥顶一下 顶楼主,一直在找这套
感谢分享 如果能向大神一样知识渊博就好了。 谢谢分享,感谢楼主 支持支持楼主,
感谢分享 为什么我丢软件进去后,查看字符串,然后用那个O什么来着的设置一下,左边还是乱码呢
页:
[1]
2