BugkuCTF-MISC题1和0的故事

这篇博客介绍了在Bugku CTF中解决MISC题目时,如何将包含1和0的文本转换为二维码的过程。作者首先讲解了Python Imaging Library (PIL) 的基础知识,包括`PIL.Image.new()`方法和`putpixel()`函数的用法。然后,博主描述了解题过程,即如何将含有0和1的文本转换为缺少定位标志的二维码,并最终利用Photoshop手动补全,成功生成可扫描的二维码,从中获取到flag:flag{QR_c0de_1s_1nterest1n9}。
摘要由CSDN通过智能技术生成

基础知识:

PIL

PIL是Python Imaging Library,它为python解释器提供了图像编辑功能。
PIL.Image.new()方法通过给定的模式和大小创建一个新图像。尺寸以(width,height)-tuple,以像素为单位。对于单波段图像,颜色作为单个值给出,对于多波段图像,颜色作为一个元组给出(各波段一个值)。
我们还可以使用颜色名称。如果省略了color参数,则图像将填充为零(通常对应于黑色)。如果颜色为无,则不初始图像。如果您要在图像里粘贴或绘制信息,这将很有用。
用法:
PIL.Image.new(mode, size)
PIL.Image.new(mode, size, color)

参数:
mode:用于新图像的模式。 (可能是RGB,RGBA)
size:包含(宽度,高度)以像素为单位的2元组。
color:图像使用什么颜色。默认为黑色。如果给出的话,对于单频带模式,它应该是单个
整数或浮点值;对于多频带模式,它应该是一个元组。

返回值:Image对象。

putpixel()

PIL是Python Imaging Library,它为python解释器提供了图像编辑功能。 PixelAccess类提供对PIL.Image数据的读写访问权限(像素级)。访问单个像素相当慢。如果要遍历图像里的所有像素,则可能会通过Pillow API的其他部分的方法更快。

putpixel()修改x,y处的像素。对于单波段图像,颜色作为单个数值给出;对于multi-band图像,颜色作为元组给出
用法: putpixel(self, xy, color)

参数:
xy:像素坐标,表示为(x,y)
value:-像素值。

返回值:具有像素的图像。

解题过程

下载文件得到一个txt文件,打开查看全是0和1
在这里插入图片描述
1和0可联想到黑和白两颜色,尝试转成二维码

pyt

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值