图片隐写

Posted on 2021-09-26  12 Views


总结一下简单的图片隐写解密操作

  • 第一种:通过更改图片高度隐藏信息

png图片格式是根据图片头部信息查看图片的长和宽来判断图片应该显示什么尺寸的,也就是说,如果修改了头部信息中长和宽的信息,就可以让图片的一部分无法显示,从而达到隐藏信息的目的。

png格式中的长宽信息储存在第10h-17h部分,10h-13h存储宽,14h-17h存储高,于是,只要修改这部分内容,就可以达成修改png显示大小的目的。

  • 第二种:通过修改像素最后一位的方式添加信息(LSB)

图片存储时一般会使用RGB颜色模型,RGB模型最多能够表示256*256*256 = 1670万种颜色,而人眼能够识别的颜色只有1000万种,也就是说很多颜色是肉眼无法区分的。于是我们可以通过极小幅度的修改颜色代码来存储我们想要的信息,一般是rgb的最后一位,这个操作我们需要一些软件来帮助完成,例如Stegsolve,通过这款软件,可以很便捷的添加或读取我们想要的信息。

  • 第三种:通过在图片后追加信息来隐藏信息

图片存储的二进制代码会有一个文件开始的标志码和结束的标志码,在文件结束码之后的信息都不会影响图片的读取,于是就可以通过在这里添加信息的方式来隐藏信息。同理也可以在这里添加压缩包代码来追加压缩包。通常使用010查看发现后直接读取内容或使用foremost或者binwalk来分离压缩包

既然可以追加压缩包,当然也可以在其中夹杂一些其他类型的文件,通常使用010查看是否标志性文件头,或者大量无关代码,也可以通过搜索当前图片的文件头和文件尾位置进行分析。有些出题人为了防止无脑foremost分离图片,会故意损坏文件尾和插入文件的文件信息,使foremost分离失败,想要分离成功需要自己修复文件。

在文件尾插入的信息根据题目不同也是千奇百怪,之前甚至碰到了把图片代码倒写然后插入图片尾部的,具体情况需要自己具体分析。

  • 第四种:文件备注添加信息

在Windows中直接右键图片可以为图片追加备注信息,很少有人看所以也可以在这里隐藏信息。但因为太过简单所以出现的也不多


欢迎来到parafish的个人博客,这里是一个正在努力的ctfer

路虽远,行则必至