养成写博客的习惯…
本文借鉴于:http://bobao.360.cn/learning/detail/243.html (很多内容都是直接复制过来的…因为实在写不出来=3)
需要用到的工具:Stegsolve,JPK,binwalk,winhex
首先,鉴于上一题小猪找到了二维码,用Stegsolve打开图片,发现找不到什么隐藏的东西。
然后 打开 binwalk
发现这张图里有两张图(binwalk安装与使用:https://www.cnblogs.com/zaqzzz/p/9460264.html)
用winhex打开该图片,找到偏移地址1D55DC,以该地址为起始位置,最后一个地址为尾,右键编辑,复制选块至新文件,命名为2.png
相对应的,选中图片第一个地址为起始位置,1D55DC的前一地址为尾,保存成1.png.
这时候两张图片就已经拆分出来了
然后打开StegSolve 打开2.png
Analyse——Image Combiner 打开1.png
查看SUB发现左下角有一条红线
点击save 保存为solved.bmp
然后把2.png保存成2.bmp 24位位图的格式,这个是因为png图片经过了压缩,不好直接对比每个字节,而bmp图片是没有压缩的,直接保存各个像数点的数据。
之后 用winhex 打开 solved.bmp
发现基本全为00 慢慢往下拉,会发现从0x1110,直到0x1330有信息。
一开始还以为这些就是flag的信息了,后来才发现是因为两个图片sub影响到了效果,真正的信息是隐藏在2.png中的,所以 打开由2.png转换的2.bmp来对,通过之前diff得到的偏移,寻找到0x1110的地方,直到0x1330结束,这是隐藏的信息。(搬运来的,我也不知道为什么=3=)
只保留00 01,这个是因为RGB的关系,只隐藏在R通道里面了,其他通道都是图片的正常像数信息,过滤掉就可以了。
观察一下可以发现,而奇数位都是0,是多余的,把这些去除掉。直接把00 替换成0,01替换成1就可以了。
本菜鸡采用了手动保留00 01,替换00 01不知有没有大佬教我更简单的方法…
得到了这个之后,可以发现他的长度是184,是8的倍数,把他转换成ascii码就可以了。可以使用JPK工具来进行转换,工具的下载的链接是www.wechall.net/applet/JPK_406.jar。
把他放入JPK
binary——binary format
binary——binary to ascii
就得到flag了!