1.千字文
得到名为png的无类型文件,010 Editor查看,png,改后缀,得到二维码
QR扫描,得到一句话“这里只有二维码”
思路不对,binwalk一下,发现有错误信息
没有有效信息,扔进stegsolve中,发现了一张奇怪的图片
联想题目千字文,这就是要找的,与正常二维码对比,发现此图片就是由倒置二维码拼接而成
#思路:将二维码逐个裁剪出,然后批量扫描
1)stegsolve直接save as的有白边,可以用脚本裁剪一下,或者自己直接截图(我是直接截的)
from PIL import Image
img=Image.open('solved.bmp')
box=(50,50,675,675)
im_crop=img.crop(box)
im_crop.save('1.bmp')
2)脚本裁剪为25*25大小的二维码
from PIL import Image
filename = '1.bmp'
img = Image.open(filename)
n=0
for i in range(25):
for j in range(25):
region = img.crop((25 * j, 25 * i, 25 * (j + 1), 25 * (i + 1))).resize((500, 500), Image.ANTIALIAS)
out='%d.png'%(n)
region.save(out)
n+=1
3)批量扫码,利用方方格子的excel图片处理-批量扫码都可以
法一:方方格子:
http://www.ffcell.com/
下载Excel工具箱后安装插件及环境(自动安装)即可在excel中找到图片工具
法二:脚本扫描
import pyzbar.pyzbar as pyzbar
from PIL import Image
for i in range(625):
str_image = str(pyzbar.decode(Image.open('%d.png'%i))[0].data.decode())
print(str_image)
需要注意的是,直接将得到的图片们扫描的话会出现"IndexError: list index out of range"
这个错误有两种,一:下标超过范围,越界;二:所得值为空
切割后得到的图片中有全黑的,即扫描值为空,所以需要删除,
(记得删除后改图片名字),扫描后即得flag