其他分享
首页 > 其他分享> > MISC

MISC

作者:互联网

一.萌新赛

1.千字文

首先是一张二维码,但是扫后发现没什么东西,再放入stegsolve中发现了:

是好多张二维码组成的一张位图,然后想到要把它分离开,一个个扫一下,写脚本:

import pyzbar.pyzbar as pyzbar
from PIL import Image


def fg():
    im = Image.open('solved.bmp')
    num = 0
    for i in range(0, 25):
        for j in range(0, 25):
            box = (25 * i, 25 * j, 25 * (i + 1), 25 * (j + 1))
            im.crop(box).resize((500, 500), Image.ANTIALIAS).save('./qianziwen/%03d.png' % num)
            num += 1


def dq():
    for i in range(624):
        s = './qianziwen/%03d.png' % i
        if len(pyzbar.decode(Image.open(s))) > 0:
            str_image = str(pyzbar.decode(Image.open(s))[0].data.decode())
            print(str_image)
            if 'flag' in str_image:
                return


def main():
    fg()
    print("图片分割已完成")
    dq()


if __name__ == "__main__":
    main()

然后flag就出来了

我刚开始做的时候,真的是各种问题都来了哈哈哈,不过还好最后问了问学长

要注意在目录中新建一个qianziwen目录,我刚开始弄了个图片;还有,其实没必要先去白边,哈哈哈,因为它的白边和每个小二维码的宽度是一样的

还学习了一个函数crop,截取函数,后面跟四个参数,其实结合这一题就很好理解了

 

 

 

标签:__,25,Image,MISC,pyzbar,num,str
来源: https://www.cnblogs.com/Athena-ydy/p/15182214.html