BUUCTF:[MRCTF2020]不眠之夜
作者:互联网
安装
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