MISC-PingTu

博客讲述了通过图像匹配度分析解决拼图问题的过程。首先,分析题目发现是将1600个图片碎片拼成40x40的图像。然后,通过比较碎片与源图像的差异,找出包含flag片段的图片进行拼接,最终成功获取flag。

PingTu

题目分析

  1. 图片匹配度分析
  2. 大量碎图片拼图

开始

1.题目

题目给了一个source.jpg和一个文件夹,文件夹里面是1600个图片碎片。
source.jpg
pingtu

2.初判

直觉就是拼图题。
小图片是9654
大图片是3840
2160
常规逻辑应该是拼图,正好是40*40张的图片。
但是真的去拼,因为图片数量实在太多,导致速度很慢,也无法导出有意义的图片。

3.再分析

在这里插入图片描述
简单翻一翻,可以翻到一些明显是flag片段的小图片。那么是否可以把每个小图片去跟source.jpg比对,因为写了flag肯定会有所差别,那就把这些有差别的图片弄出来,拼起来不就是flag了?
所以题目会给出source.jpg就有的解释了。

4.开干

有了方向就可以开搞了。python里面cv2库正好可以计算两张图片的匹配度。脚本也相对简单。

#!python3
# -*- coding: utf-8 -*-
# @Time : 2020/11/11 23:26
# @Author : A.James
# @FileName: tt.py
from cv2 import cv2
import os
import shutil

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值