解压缩发现每个包都很小
其中对应的ascii码的值可以穷举,就把他全部穷举然后算一下crc32码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import zipfile import string import binascii
def CrackCrc(crc): for i in dic: for j in dic: for k in dic: for h in dic: s = i + j + k + h if crc == (binascii.crc32(s.encode())): f.write(s) return
def CrackZip(): for i in range(0,68): file = 'out'+str(i)+'.zip' crc = zipfile.ZipFile(file,'r').getinfo('data.txt').CRC CrackCrc(crc) print('\r'+"loading:{:%}".format(float((i+1)/68)),end='')
dic = string.ascii_letters + string.digits + '+/=' f = open('1.txt','w') print("\nCRC32begin") CrackZip() print("CRC32finished") f.close()
|
脚本给全部爆破出来然后把每个压缩包的内容存入1.txt 内容是base64码
解码一下发现以rar文件为结尾
将这解码内容写入一个新的文件
1 2 3 4 5
| import base64
base64_text = open('1.txt','r').read() byte_stream = base64.b64decode(base64_text) open('xin.txt','wb').write(byte_stream)
|
1
| 010 添加一个rar的文件头52 61 72 21 1A 07 00
|
打开在注释那边找到flag
RoarCTF2019黄金6年
这五年你知道我是怎么过的吗?(;′⌒`) 最后就剩活着了
首先是视频丢010末尾有一段base64复制下来解码提示是rar文件
用上面的代码导出然后解压缩 欸不好意思有密码
那就只能从视频里面找内容了 (讨厌这种视频题,找得眼睛快瞎了)
四张二维码 key1:i key2:want key3:play key4:ctf
解压缩包即可