返回博客

CTF 图片隐写

分类:IT技术 作者:樱振宇 发布时间:2026-06-09 15:30:51
图片16进制末尾藏字符
16进制读取PNG图片文件,图片文件的格式校验机制,图片文件有明确的结束标记(IEND 块)从文件开头解析,读取到 IEND 块(截图末尾的 49 45 4E 44)时,判定「图片解析完成」;之后的所有字节(比如你加的 @B,YingZhenYu`)会被直接忽略,不会影响图片渲染,这些额外数据不属于 PNG 标准结构,不会触发任何校验流程。
屏幕截图 2026-06-09 152659


图片16进制修改长宽高
参考文档
找到宽和高代表的16进制码,其实第二行前八个开始的,前四个代表的就是宽,后四个代表的是高。文章图片
如图所示你可以看到当16进制转会10进制的时候,直接显示了图片的高度。
屏幕截图 2026-06-09 154658
也就是说,我们可以自定义图片的大小但不影响参数,可以直接在16进制里面编辑更改图片的大小来隐藏数据。
屏幕截图 2026-06-09 155025


SilentEye工具图片隐藏内容
这个工具类似于将图片变成了一个密码压缩包一样的感觉。
加密:左上角打开一张图片,点击Encode进行加密,如下输出好参数。
QQ_1780994602917
解码:直接打开加密的图片,点击Decode进行解密。
屏幕截图 2026-06-09 164459
还不懂的话,tm的我直接上视频教程给你!


合并文件
参考文档
屏幕截图 2026-06-09 195902
CMD合并文件,常常用于合并文件来考ctf。
copy /b 封面.jpg + 隐藏图.jpg 最终图.jpg

可以把两个文件合成一个文件,就是把16进制进行了拼接。


合并文件扫描,合并文件分离
参考文章
- binwalk扫描工具:帮我们扫描文件合并了都什么文件。一般kali liunx系统自带,没有的也给放下面资源包里自己找了,或者你自己下载(建议)。
binwalk 文件名称

屏幕截图 2026-06-09 203534
可以看出来这个工具的这个指令可以帮我们分析这个文件有多少个文件。
- foremost分离工具:帮我们把合并的文件给分离出来。一般kali也自带,没有的放下面资源了。
指令如下:
foremost 文件 -o 保存的文件夹

屏幕截图 2026-06-09 204331


杂项:比如两张一样的图片可能是异或可能是盲水印
异或图片原理:https://www.bilibili.com/video/BV1jK4y1z78U/?share_source=copy_web&vd_source=a2f82509ce3aef9f2e222a63e944f915
两个工具,放下面资源库了: QR_Research_V1.0 StegSolve-1.5-alpha1.jar


杂项:有些发一个文件有很多010101的数字,可能是摩斯密码,也要可能是二维码,0获1可能是黑白像素,因为二维码也就黑色和白色,解密工具豆包可以ai。
还有一种是给你一堆坐标,可能对应地几行什么颜色,自己去想吧,各种各样,可以生成二维码。


杂项:拼图,就是几宫格打乱了图片,有那种修复拼图的脚本。详细教学+脚本


(常用)LSB隐写,通过修改PNG文件RGB颜色分量的最低位效位,在人眼无法察觉颜色变化的情况下藏匿信息。通常使用工具Stegsolve(资源在下面)说白了,一个小图片,一个大图片,大图片二进制最后一位一般随便改影响不大,肉眼无法识别,把小图片的二进制碾碎拆开,分发给大图片二进制的最后一位,解的时候只需要解大图片二进制的最后一位就能看到隐藏的小图片了。参考资料
LSB 最低有效位 视频 【担心隐私泄露?教你用LSB算法给图片加密!-哔哩哔哩】


文章资源


进制在线转换:https://tool.lu/hexconvert/
foremost分离工具:https://gitee.com/ifyu/foremost
010Editor Professional汉化工具,SilentEye工具,binwalk扫描工具,QR_Research_V1.0,StegSolve-1.5-alpha1.jar
工具获取:http://52sakura.ysepan.com/


无意间找到一个很全的课程: