稍微考察了下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。