CTF图片拼图&安装坑点

CTF图片拼图&安装坑点,第1张

背景

作为一小白初次了解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 命令详解

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/873867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存