文章目录
- 一、很普通的数独
- 二、答题步骤
- 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