ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BUUCTF:[MRCTF2020]不眠之夜

2022-07-24 03:31:06  阅读:232  来源: 互联网

标签:不眠之夜 BUUCTF -- jpg geometry tile MRCTF2020 resize 图片


题目

安装

linux下拼图工具gaps安装教程 - 简书 (jianshu.com)

apt-get install graphicsmagick-imagemagick-compat

 

解题代码

注意要删掉一张没用的损坏图片

montage *.jpg -tile 10x12 -resize 1000x600 -geometry +0+0 out.jpg #把图片碎片合成一个图片

gaps --image=out.jpg --generations=50 --population=120 --size=50 #还原原图片

参数说明:

*.jpg指目标为目录下所有的jpg格式图片

-geometry +0+0的用处是让图片之间没有间隙

resize后是最终合成图片的长x宽

tile后是从左往右张数x从上往下张数

size如何确定?

这道题的图片有一个特点,那就是长是宽的两倍,所以我们可以将一张子图片视为两张拼图(每张拼图是正方形的)

于是有,拼图的宽度,也就是size为600/12=50

过程遇到的挫折:

虚拟机传文件问题

文件夹被压大小问题

网上错误代码误导问题

等等

网上错误代码的纠正

 

montage -tile 10x12 -geometry 200x100+0+0 *jpg flag.jpg

关于montage的语法/传参问题

montage  -tile 10x12 -resize 200x100 *.jpg -geometry +0+0 out.jpg

当*.jpg在resize前面传入后,它接下来读到行和列对应的图片数就可以进行转换。至于重新设大小之类的等转完再说。

当*.jpg在resize后传入时,它会对指定的图片进行重新设定大小后再拼接。

*.jpg的.可以省略,没有影响

标签:不眠之夜,BUUCTF,--,jpg,geometry,tile,MRCTF2020,resize,图片
来源: https://www.cnblogs.com/muzu/p/16513761.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有