MISC 2022/4/21 刷题记录-千字文

1.千字文

得到名为png的无类型文件,010 Editor查看,png,改后缀,得到二维码

image

QR扫描,得到一句话“这里只有二维码”

image

思路不对,binwalk一下,发现有错误信息

image

没有有效信息,扔进stegsolve中,发现了一张奇怪的图片

image

联想题目千字文,这就是要找的,与正常二维码对比,发现此图片就是由倒置二维码拼接而成

image

#思路:将二维码逐个裁剪出,然后批量扫描

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

image

posted @ 2022-04-22 18:10  CPYQY_orz  阅读(44)  评论(0编辑  收藏  举报