九张撕碎二维码碎片。不会让人拼起来吧!看了大神们得博客竟然是真的,这是ctf的题吗!是考验人的耐性吧!
我勉为其难讲一下PS怎么拼图,首先要把九张碎片抠图,背景变透明,ps可以但是太麻烦,我在GIthub找到一个Python+Qt写的自动抠图的软件,使用removebg提供的api接口,可生成高清图预览并保存,输入图片链接也可在线抠图。超赞,起码比某些国产类似软件有良心,长期用收费还要充米不停买流量豆。下载地址:
https://github.com/Oct1a/AutoMattinghttps://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}