稍微考察了下base16/32/64的基本特征,另外文档很大,打开很容易未响应,需要拿脚本解码。
base16就是十六进制
base32只由大写字母+数字组成
base64由大写字母+小写字母+数字组成,以及“+”和“/”符号。
自己写了脚本,原理也很简单暴力。。打开把内容读入字符串,三种解码方法挨个试,能解出来就算,不断轮回,直到三种解码方式都报错的时候停止。
import base64 file = open("base.txt",'r') file2 = open("flag",'w') base = file.read() while(1): try: base = base64.b32decode(base).decode() except: try: base = base64.b64decode(base).decode() except: try: base = base64.b16decode(base).decode() except: print("解码完毕qwq!") file2.write(base) break
脚本停止后会在脚本同级目录生成一个flag文件,里面就是这道题的答案qwq。