CTF图片拼图&安装坑点

背景

作为一小白初次了解ctf,遇到每一题都磕磕绊绊,记录一拼图的题目。
题目是给一张图片,然后找出flag。当我们获得一堆小图片(如下图所示)时,便可以通过 montage 进行拼图,进而通过 gaps 优化获得所需的flag信息。
图一

一些报错

ImportError: No module named 'skbuild'

ERROR: Command errored out with exit status 1: /usr/bin/python /usr/local/lib/python2.7/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpSrV_xN Check the logs for full command output.

相关环境

  1. VMware 15.5.2
  2. ubuntu 16.4

安装相关工具

目的是将上图拼接为图二。
图二
这里需要使用到 montage 和 gaps。建议在linux环境下测试。这里直接按成功的步骤进行演示。

montage安装

网上说的 pip install montage 安装失败,采用如下命令进行安装。

#Debian
apt-get install graphicsmagick-imagemagick-compat
 
#Ubuntu
apt-get install graphicsmagick-imagemagick-compat
 
#Alpine
apk add imagemagick6
 
#Arch Linux
pacman -S imagemagick6
 
#Kali Linux
apt-get install graphicsmagick-imagemagick-compat
 
#Raspbian
apt-get install graphicsmagick-imagemagick-compat
 
#Docker
docker run cmd.cat/montage montage

安装 gaps

  1. 使用git下载 https://github.com/nemanja-m/gaps.git
git clone https://github.com/nemanja-m/gaps.git
cd gaps
  1. 安装所需包
    这里有两种方案。
  • 可以直接按 clone下来的requirements.txt 文件安装。
    pip install -r requirements.txt
  • 如若失败,可以分别安装分别安装numpy,opencv-python,matplotlib,pytest,pillow。这里可以加上镜像源,下载速度将大大加快。
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.16.2

下载成功之后,去 requirements 文件中修改对应的版本号。下图是我下载的版本。
图三
接着通过sudo python setup.py install进行安装:
在这里插入图片描述
由于Ubuntu内置python2.7,当使用 python3 安装不成功时,考虑用上述命令。

结果展示

在这里插入图片描述
图中的 16* 16 为图片大小,64 为小图片的宽和高。相关命令如下:

montage ./flag/*.png -tile 16x16 -geometry +0+0 flag02.png
gaps --image=flag02.png --size=64 --save

至此,最终的图片便已成功保存下来,不出意外flag就在图上。
在实践的过程中,踩过大量的坑,如安装opencv-python、安装PIL报错。为方便大家检索,相关报错信息在上文列出。

参考文献

linux下拼图工具gaps安装教程
CTF 自动拼图
montage 命令详解

  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值