文件隐写方法与思路汇总

文件隐写方法与思路汇总

复制代码
JPEG
    JPEG 是Joint Photographic Experts Group(联合图像专家小组)的缩写,是第一个国际图像压缩标准。JPEG图像压缩算法能够在提供良好的压缩性能的同时,具有比较好的重建质量,被广泛应用于图像、视频处理领域。人们日常碰到的“.jpeg”、‘’.jpg“等指代的是图像数据经压缩编码后在媒体上的封存形式,不能与JPEG压缩标准混为一谈。由于JPEG优良的品质,使他在短短几年内获得了成功,被广泛应用于互联网和数码相机领域,网站上80%的图像都采用了JPEG压缩标准。
    JPEG本身只有描述如何将一个影像转换为字节的数据串流(streaming),但并没有说明这些字节如何在任何特定的储存媒体上被封存起来。.jpeg/.jpg是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。
    在各种图像格式中JPEG是使用非常广泛的一种,用JPEG图像作为载体进行信息隐藏将不容易引起拦截者发现,因此JPEG信息隐藏具有重要的应用价值。    
    F5算法F5是由德国著名学者Pfitzmann和Westfeld在2001年提出的一种隐写分析方法,是一种针对JPEG图像,可以提供较大的嵌入容量、抗卡方分析检测的隐写算法。算法描述如下:
    1、由用户输入的密码产生一组随机序列,利用该随机序列来随机选择量化DCT系数的非零交流系数。
    2、对选中的DCT系数进行分组,每组包含2k-1个DCT系数,用以嵌入k比特秘密信息。
    3、利用矩阵编码来嵌入信息。
复制代码
复制代码
BMP
    BMP图像用作信息隐藏可以隐藏较大的信息量,相对检测难度也较大,可以说BMP图像是信息隐藏的极佳载体。针对文件结构的信息隐藏方法需详细掌握文件的格式,从而利用文件结构块之间的关系或根据块数据和块大小之间的关系来隐藏信息。
    BMP(Bitmap-File)图形文件是Windows采用的常见图形文件格式,要利用BMP位图进行信息隐藏首先需要详细了解BMP文件的格式,BMP图像文件结构比较单一而且固定,BMP图像由文件头、信息头、调色板区和数据区四个部分组成,而24位真彩色图像中没有调色板信息。24位真彩色BMP位图文件包括3部分。第一部分是BMP文件头。前2个字节是“BM”,是用于识别BMP文件的标志;第3、4、5、6字节存放的是位图文件的大小,以字节为单位;第7、8、9、10字节是保留的,必须为0;第11、12、13、14字节给出位图阵列相对于文件头的偏移,在24位真彩色图像中,这个值固定为54;19,20,21,22表示的是图像文件的宽度,以像素为单位;23,24,25,26表示的是图像文件的高度,以像素为单位。第二部分是位图信息头。从第29个字节开始,第29、30字节描述的是像素的位数,24位真彩色位图,该位的值为0x18。第三部分是数据区。从第55个字节开始,每3个字节表示一个像素,这3个字节依次表示该像素的红、绿、蓝亮度分量值。
    在不影响图像正常显示情况下,可使用以下四种方法在24位真彩色BMP图像中隐藏信息。
    1、在图像文件尾部添加任意长度的数据,秘密信息存放在文件尾部可以减少修改文件头的数据量,仅需修改文件头中文件长度的值即可。
    2、在调色板或者位图信息头和实际的图像数据之间隐藏数据,如果将秘密数据放在文件头与图像数据之间,则至少需要修改文件头中文件长度、数据起始偏移地址这两个域的值。
    3、修改文件头和信息头中的保留字段隐藏信息。
    4、在图像像素区利用图像宽度字节必须是4的倍数的特点,在补足位处隐藏数据。
复制代码
MP3
    MP3Stego是剑桥大学计算机实验室安全组开发的一个公开源代码的免费程序,它是在MP3上进行水印嵌入研究的最具有代表性的软件。MP3Stego是在将WAV 文件压缩成MP3的过程中,将水印嵌入到MP3文件中,嵌入数据先被压缩、加密,然后隐藏在MP3比特流中,默认输出的MP3格式是128bit,单声道的。
    数字音频的频域信号在量化和编码时,存在量化误差。这个量化误差是一个不确定值,例如采用不同的心理声学模型可以导致不同的量化误差,并且这个量化误差如何取值可以在量化编码程序中进行调整设定。采用不同的量化误差可以导致不同的量化结果,并在一定程度上影响最后的音质。MP3Stego通过调节量化误差的大小,将量化和编码后的长度作为信息隐藏的方法,即长度为奇数代表信息1,长度为偶数代表信息0,从而将信息隐藏到最后的MP3比特流中。因此,MP3Stego 可以说是一种量化编码信息隐藏方法。
复制代码
根据水印被加载的时刻,软件水印可分为静态软件水印和动态软件水印。
1、静态软件水印
    静态软件水印的存在不依赖于软件的运行状态,可以在存放、分发以及运行时被验证。静态软件水印在软件编码时或编码完成后被直接嵌入。依据软件水印的存放位置,软件水印又可进一步分为静态数据水印与静态代码水印。
    (1)静态数据水印
    这类软件水印处于程序流程之外,因此通常存放在软件的固定数据区(data segment),这种水印验证方法往往比较简单,一般软件会有固定显示这种水印的时机或可直接找到存放水印的位置。
    (2)静态代码水印
    这类水印一般存放在软件的可执行流程之中,通常的办法是放在一些不会被执行到的分支流程内,比较典型的就是放在一系列比较判断之中或是函数调用返回之前。这类水印的验证需要事先知道水印的具体位置,同时也要防止水印在一些具有优化功能的编译器中被自动删除。此类水印的优点是生成方式灵活多样,而且验证方便、快速。但是静态水印的缺点是很容易被攻击者发现存放位置,而且静态水印依赖于物理文件格式和具体的程序文件,因此很难设计出通用性好、逻辑层次高的水印方案。
2、动态软件水印
    软件水印存在依赖于软件的运行状态,通常是在某种特殊的输入下触发才会产生,其验证也必须在这类特定时机才可完成。根据水印产生的时机和位置可分为三类:Easter Egg、动态数据结构水印和动态执行序列水印。
    (1)Easter Egg
    在软件接收某种特殊输人时,会显示出指定的一些信息,如软件所有者的照片,软件开发公司的标识等等。
    (2)动态数据结构水印
    在一段特殊输人的触发下,软件内部会初始化或建立某一特定的数据结构以表示软件的知识产权,验证水印必须在运行时观察到这类数据结构的产生。
    (3)动态执行序列水印
    在接收到一类特殊的输人触发后,软件内部的执行序列会表现出一系列独有的特征,这类特征可以用来作为软件的知识产权标志。
复制代码

解密网站

如果给一张图片,通常背后有一串被加密或者是flag。这里就需要图片解析工具来解析。解析后的文件输出到txt文件中,再进一步分析。

http://tool.chinaz.com/tools/textencrypt.aspx

培根密码解码过程

第一步:查看实验工具文件夹下面的
Pcat.jpg
图片,发现是一张二维码,手机扫描
(扫描后进入该博客,复制该博客的链接)
第二步:该博客的链接便是扫描后的字符串,发现是网址格式,但是大小写搭配随意,去掉特殊字符后,发现一共二十个字符,推测培根密码
培根密码有两种解密方式:
第一种解密方式:
A aaaaa B aaaab C aaaba D aaabb
E aabaa F aabab G aabba H aabbb
I abaaa J abaab K ababa L ababb
M abbaa N abbab O abbba P abbbb
Q baaaa R baaab S baaba T baabb
U babaa V babab W babba X babbb
Y bbaaa Z bbaab
第二种解密方式:
a AAAAA g AABBA n ABBAA t BAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB
我们在此处将20个字符分为四组,每组五个,大写为B,小写为A,得到如下:
HttPp→BAABA→t
catcn→AAAAA→a
bloGs→AAABA→c
cOMHh→ABBBA→p
得到密码为:tacp

 文件分离

如果图片中有图片重叠,可以使用Kali中的

1、进入kali
打开终端用binwalk查看文件格式。
可以直接把桌面的oddpic.jpg拖动到终端(黑框框)里。会变成'/root/桌面/oddpic.jpg'
2、用foremost分离,运行:foremost -v -i 图片路径 -o test
3、分离出了两张图片(在文件夹test中)

图片隐写

1
2
./outguess -r angrybird.jpg outfile.txt
cat outfile.txt

PNG图片类型

 图片修复

 图片组合

扫描三个二维码可以得到以下三个结果:
DES
6XaMMbM7
U2FsdGVkX18IBEATgMBe8NqjIqp65CxRjjMxXIIUxIjBnAODJQRkSLQ/+lHBsjpv1BwwEawMo1c=
这样就非常清楚了,第一个二维码是加密方式,第二个是密钥,第三个是密文。
第十步:进入

共同学习,共同进步!!!

安徽奥斯科信息科技有限公司
电 话:0551-63839550
地 址:安徽省合肥市高新区天智路14号时代智谷创业园101室
本文版权归作者和博客园共有,不以任何盈利为目的,旨在大家共同学习,共同进步!!!但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律声明责任的权利。
原文地址:https://www.cnblogs.com/Auscoo/p/13863162.html