BUUCTF二维码1

九张撕碎二维码碎片。不会让人拼起来吧!看了大神们得博客竟然是真的,这是ctf的题吗!是考验人的耐性吧!

我勉为其难讲一下PS怎么拼图,首先要把九张碎片抠图,背景变透明,ps可以但是太麻烦,我在GIthub找到一个Python+Qt写的自动抠图的软件,使用removebg提供的api接口,可生成高清图预览并保存,输入图片链接也可在线抠图。超赞,起码比某些国产类似软件有良心,长期用收费还要充米不停买流量豆。下载地址:

https://github.com/Oct1a/AutoMattingicon-default.png?t=N7T8https://github.com/Oct1a/AutoMatting

下载解压在主目录dist\index下有个index.exe,双击

导入图片,一键抠图

在ps里打开上图,在新建一个500X500 的黑色背景底图,先用矩形选取框选取左上碎片CTL+V在CTL+V复制到黑色底图,CTL+T,按住鼠标左键可以拖到指定位置,CTL+S保存,按照顺依次重复上面操作,拼好如下图:

也可以把九个碎片切成九块,使用脚本拼图


from PIL import Image
import os

# 定义每个图片的大小
image_size = (100, 100)

# 获取目录下的所有JPG文件
image_files = [file for file in os.listdir('.') if file.endswith('.jpg')]

# 按照文件名排序
image_files.sort()

# 创建一个空白的正方形图像
result_image = Image.new('RGB', (300, 300))

# 拼接图片
for i, image_file in enumerate(image_files):
    image = Image.open(image_file)
    image = image.resize(image_size)
    x = (i % 3) * image_size[0]
    y = (i // 3) * image_size[1]
    result_image.paste(image, (x, y))
  

# 显示拼接后的图像,并输出jpg文件
result_image.show()
result_image.save('square_combined_image.jpg')

但是不知道为啥我的扫不出flag,头疼借用一下大神的图片

flag{7bf116c8ec2545708781fd4a0dda44e5}

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值