前言
网易云上非常有意思的课程,教如何将文件隐藏在BMP位图中。
http://study.163.com/course/courseLearn.htm?courseId=1367011#/learn/video?lessonId=1632135&courseId=1367011
基本知识
Q:文件格式,大端、小端
A:这个非计算机专业,不是很懂。感兴趣的同学可参考 http://blog.csdn.net/goldfighter/article/details/8289215
Q:BMP文件格式
A:前10个字节存放文件信息,包括文件大小。之后每6个字节为一个像素点,包括前三个字节(RGB控制图片颜色显示)和后三个字节(阿尔法值,即透明通道值,控制图片透明度值)。主要利用透明通道的空间来隐藏文件内容。
Q:其他文件格式?
A:其他文件格式也有类似的空间做隐藏。理论上24位BMP位图隐藏空间是图片大小的一半。
注:本文以24位位图为例。16位和256色位图只有1位存放透明通道值,能隐藏的数据量只有1/4。
实现基本思路
1. 隐藏文件内容 Hide(秘密文件名,BMP文件名)
·读取文件内容函数ReadFileContent。其中第二个参数DWORD * filesize有什么用,不太清楚。(待解答)
·读取BMP位图内容存入pBMP,读取secret文件内容存入pSecretFile