「BugKu CTF」1 和 0 的故事
题意
下发一个大小为 的 01 矩阵。
分析 & 代码
根据 的大小,联想到平时的微信付款码就这像素,很可能是一个二维码!
但是二维码的四个角一般都是“半空心正方形”(可以打开微信付款码,看看形状),我们将这些角补全,得到 二维码 的 01 表示为
1111111001110010001111111
1000001000011110101000001
1011101001110001001011101
1011101010111100001011101
1011101010101010001011101
1000001001100010101000001
1111111010101010101111111
0000000001000001100000000
1100011101110110100011000
0001000010110010010010100
0100111101000011101110011
0011110100101011001001001
1000001001100001001101000
1111000111111011100101000
1011011111001101111110111
1000110110010010101101100
1000111100111111111110111
0000000010110001100010100
1111111010010100101010001
1000001010101010100011001
1011101000100111111110010
1011101000011001011110111
1011101001001100100100001
1000001011000011011011001
1111111011010000101110101
用 python 实现一个转换成 .png 的程序
from PIL import Image
from zlib import *
MAX = 25
pic = Image.new('RGB', (MAX, MAX))
file = open('data.in', 'r')
x = 0
for item in file:
for y in range(25):
if item[y] == '1':
pic.putpixel([x, y], (0, 0, 0))
else:
pic.putpixel([x, y], (255, 255, 255))
x += 1
pic.show()
pic.save('QRcode.png')
得到
扫描二维码,得到 flag{QR_c0de_1s_1nterest1n9}
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix