当前位置: 首页 > news >正文

记录一次CTF图片拼图安装工具montage+gaps成功步骤以及踩坑全过程

安装图片拼接工具montage:

1.安装

使用pip install montage无法安装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

 2.使用方法:

montage 输入文件路径 -tile 长宽数量 -geometry 拼图间隙 输出路径

示例: montage ./*.png -tile 8X6 -geometry +0+0 flag.png

 

安装gaps工具:

1.clone源代码

推荐git clone官网的源代码包。但是使用师傅们的方法clone失败,无奈自己去github扒了网址出来

git clone https://github.com/nemanja-m/gaps.git

我将它放到了桌面,之后进入它的目录

2.安装库(防止报错,要在gaps目录下进行操作)

师傅写的,但是我安装失败

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

安装python库numpy,opencv-python,matplotlib,pytest,pillow

一个一个安装

pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

 3.进行如下操作

sudo apt install python3-poetry
sudo apt-get install python-tk
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple

这里没什么问题,如果报错那就执行下面的命令:

apt-get update

4.使用方法:

gaps run 预处理图片路径 输出路劲 --参数示例:gaps run ./flag.png newfalg.png --generations=48 --population=20 --size=100gaps --image=flag.jpg --size=58 --save
特别注意是sized的计算,需要先使图片的拼块恰好为像素最大的一条边的正方形,size=该边长像素。

http://www.lryc.cn/news/373148.html

相关文章:

  • 深入剖析人才管理的关键要素:“选、用、育、留”四大核心要素
  • 【C++】类的默认成员函数
  • 归并排序!
  • 深入探讨:Spring与MyBatis中的连接池与缓存机制
  • [C#]使用C#部署yolov10的目标检测tensorrt模型
  • Linux CFS 调度器 (1):概述
  • HBase中Master初始化错误~
  • Hive on Spark版本兼容性
  • grep命令知多少
  • [java]windows和linux下jdk1.8安装包所有版本系列下载地址汇总
  • Electron+Vue开源软件:洛雪音乐助手V2.8畅享海量免费歌曲
  • CAPL通过addTimeToMeasurementStartTime或者getLocalTime获取本地时间
  • 谷歌上架,APP被移除了,没封号,换个包名还能重新提审上架?
  • Docker部署MaxKB 知识库(提高问答命中率)
  • LeetCode739每日温度
  • 【Qt】Qt中的几种Timer
  • Excel 多列组合内容循环展开
  • Vue2+Element-ui实现el-table表格自适应高度
  • 【人工智能】开发AI可能获刑?加州1047草案详解
  • 机器学习二分类数据集预处理全流程实战讲解
  • 大模型应用:LangChain-Golang核心模块使用
  • 【Tkinter界面】Canvas 图形绘制(03/5)
  • 【CS.PL】Lua 编程之道: 基础语法和数据类型 - 进度16%
  • centos7 xtrabackup mysql 基本测试(3)---虚拟机环境 安装mysql
  • Java Native Interface 使用指南
  • 代码随想录算法训练营第三十九天 | 62.不同路径、63. 不同路径 II、343. 整数拆分、96.不同的二叉搜索树
  • C/C++函数指针、C#委托是什么?
  • 红队攻防渗透技术实战流程:组件安全:JacksonFastJsonXStream
  • Perl 语言学习进阶
  • LangGraph实战:从零分阶打造人工智能航空客服助手