先给题目:
给出这麽一个文件,解压要密码,然后密码位数10位+,求问如何还原1-7的txt中的内容?
解题:
思路很明确,压缩文件密码太长,不可爆破,而文件才4个字节,其中对应的ASCII码的值是可琼举的,那我把它全部穷举然后算一下CRC32码,跟原来的比一下不久完事了吗?
好,思路清楚了,我们下面写代码就完事了
代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import datetime
import binascii
def showTime():
print datetime.datetime.now().strftime("%H:%M:%S")
def crack():
crcs = set([0xE761062E, 0x2F9A55D3, 0xF0F809B5,
0x645F52A4, 0x0F448B76, 0x3E1A57D9, 0x3A512755])
r = xrange(32, 127)
for a in r:
for b in r:
for c in r:
for d in r:
txt = chr(a)+chr(b)+chr(c)+chr(d)
crc = binascii.crc32(txt)