【愚公系列】2021年11月 攻防世界-进阶题-MISC-053(很普通的数独)

2021-12-03 14:34:33 浏览数 (2)

文章目录

  • 一、很普通的数独
  • 二、答题步骤
    • 1.提取图片二维码
    • 2.base64
  • 总结

一、很普通的数独

题目链接:https://adworld.xctf.org.cn/task/task_list?type=misc&number=1&grade=1&page=3

二、答题步骤

1.提取图片二维码

调节文件位置后用画图拼接,并将有数字的格涂黑。

代码语言:javascript复制
from PIL import Image
path = input("输入图片路径")
img0 = Image.new("RGBA", (180, 180), "white")
box0 = (3, 3, 199, 199)
for i in range(45):
    for j in range(45):
        pngnum = i // 9 * 5   j // 9   1
        img1 = Image.open(path   "\"   str(pngnum)   ".png")
        box = ((j % 9) * 22   11, (i % 9) * 22   11, (j % 9) * 22   18, (i % 9) * 22   18)
        img2 = img1.crop(box0).crop(box).load()
        sign = False
        for x in range(7):
            for y in range(7):
                if img2[x, y] != (255, 255, 255, 255):
                    sign = True
                    break
            if sign:
                break
        if sign:
            for x in range(4):
                for y in range(4):
                    img0.putpixel([i * 4   x, j * 4   y], (0, 0, 0))
img0.save(path   "\"   "result.png")

得到二维码

扫码得到

代码语言:javascript复制
Vm0xd1NtUXlWa1pPVldoVFlUSlNjRlJVVGtOamJGWnlWMjFHVlUxV1ZqTldNakZIWVcxS1IxTnNhRmhoTVZweVdWUkdXbVZHWkhOWGJGcHBWa1paZWxaclpEUmhNVXBYVW14V2FHVnFRVGs9

2.base64

进行7次base64解码

得到flag:flag{y0ud1any1s1}


总结

  • 二维码
  • base64

0 人点赞