题目描述:
b’GE3DKOJZGI3DINRRFY2TGMBTGE3TG===’
ran_number: 4
b_type: 32 0
b_type: 32 1
b_type: 16 2
b_type: 16 3
小云是一个喜欢捣蛋的家伙,他把自己最爱的flag加密保存后混淆在一堆无用数据中找不回来了,你能帮帮他吗?
根据题目描述,猜测使用了两次base32编码和两次base16编码,次序可能是随机的
代码写的非常垃圾,勿喷,代码如下:
import os import base64 l1=[] path = "./" # 文件夹目录 files = os.listdir(path) # 读取文件夹目录 # print(files) for file in files: # 遍历文件夹 try: f = open(file) # 返回一个文件对象 string = f.read() # 调用文件的 read()方法 t=base64.b16decode(string) l1.append(t) f.close() except: pass print(len(l1)) l2=[] for i in l1: try: t=base64.b16decode(i) l2.append(t) except: pass l3=[] for i in l2: try: t=base64.b32decode(i) l3.append(t) except: pass l4=[] for i in l3: try: t=base64.b32decode(i) print(t) l4.append(t) except: pass
得到flag