打开给的txt,发现是一堆二进制数据。二进制数据一般两种思路,一种是画二维码,一种是写文件。画二维码一般观察文件长度就行了,如果刚好是10000之类可以开平方的就比较有可能,这道题明显不是。那就将二进制数据转为字节写入文件就行了。可以手动先转几个字符,可以发现前三个字符是Rar,说明应该是个压缩文件,接着写个脚本,把文件完全提取出来。
import re
with open("1.txt", "r") as f:
data = f.read()
with open("new.rar", "wb") as f:
leng = len(data) / 4
tmp = hex(int(data, 2))[2:-1].rjust(leng,'0').decode('hex')
f.write(tmp)
得到一个压缩包,解压有一张图片,右键属性发现一串字符串,base64解码即得到flag
from base64 import b64decode
strs = 'ZmxhZ3swMWEyNWVhM2ZkNjM0OWM2ZTYzNWExZDAxOTZlNzVmYn0='
print b64decode(strs)
# flag{01a25ea3fd6349c6e635a1d0196e75fb}