BUUCTF_Misc_[安洵杯 2019]吹着贝斯扫二维码
有一堆未知的文件,用文本打开,看到都是JEIF头,所以都给他们加上.jpg后缀
python脚本:
import os path = 'C:\\Users\\25287\\Desktop\\1' for i in os.listdir('C:\\Users\\25287\\Desktop\\1'): if i == 'flag.zip': continue else: oldname = os.path.join(path,i) newname = os.path.join(path,i+'.jpg') os.rename(oldname,newname)
cmd命令:
ren * *.jpg
然后改为bat后缀,执行
发现是个破碎的二维码
使用ps拼接,
tips:有细心的大佬发现二进制文件末尾有编号.
编号脚本:
import os from PIL import Image #目录路径 dir_name = r"./" #获取目录下文件名列表 dir_list = os.listdir('./') #print(dir_list) #从列表中依次读取文件 for file in dir_list: if '.jpg' in file: f=open(file ,'rb') n1 = str(f.read()) n2 = n1[-3:] #经过测试发现这里要读取最后3个字节,因为最后还有一个多余的字节,不知道是不是转字符串的原因导致在末尾多了一个字符 #print(file) #输出文件内容 #print(n2) f.close() #先关闭文件才能重命名,否则会报`文件被占用`错误 os.rename(file,n2+'.jpg') #重命名文件
最后拼接起来:
扫出来是:
BASE Family Bucket ???
85->64->85->13->16->32
注意这里13是rot13,刚开始我还以为什么时候冒出来个base13,看来是学时短浅了,
然后一顿解密操作下来得到压缩包密码:
ThisIsSecret!233
最后得到flag
flag{Qr_Is_MeAn1nGfuL}