一个 GitHub 组织 StegHigh 已成立,用于维护 steghide。请将所有 PR、讨论和问题提交到那里。
此外,StegHigh/steghide 正在寻找维护者。欢迎贡献!
Steghide 是一个隐写术程序,能够将数据隐藏在各种图像和音频文件中。颜色频率或采样频率不会被改变,从而使嵌入对一阶统计测试具有抵抗力。
当前 steghide 的版本为 0.5.1
功能: *) 压缩嵌入数据 *) 加密嵌入数据 *) 嵌入校验和以验证提取数据的完整性 *) 支持 JPEG、BMP、WAV 和 AU 文件
隐写术的字面意思是“覆盖书写”。其目标是隐藏通信正在发生这一事实。这通常通过使用一个(较大的)载体文件并将(较短的)秘密消息嵌入该文件中来实现。结果是生成一个看似无害的文件(隐写文件),其中包含秘密消息。
您应安装以下库才能使用 steghide。
libmhash 一个提供各种哈希算法和加密密钥生成算法的库。Steghide 需要此库将口令转换为可用于加密和隐写算法输入的形式。 可在以下地址获取:http://mhash.sourceforge.net/
libmcrypt 一个提供多种对称加密算法的库。如果您在没有 libmcrypt 的情况下编译 steghide,您将无法使用 steghide 在嵌入前加密数据或提取加密数据(即使您知道正确的口令)。 可在以下地址获取:http://mcrypt.sourceforge.net/
libjpeg 一个实现 jpeg 图像压缩的库。没有此库,您将无法在 jpeg 文件中嵌入数据或从 jpeg 文件中提取数据。 可在以下地址获取:http://www.ijg.org/
zlib 一个无损数据压缩库。如果您在没有安装此库的情况下编译 steghide,您将无法使用 steghide 在嵌入前压缩数据或从隐写文件中提取压缩数据。 可在以下地址获取:http://www.gzip.org/zlib/
Libmhash 是编译 steghide 的绝对必要条件。虽然您可以在没有其他库的情况下编译它,但强烈建议安装它们,因为没有它们,主要功能将不可用。
解压源代码发行版后,输入以下命令:
有关更多信息,请参阅发行版附带的 INSTALL 文件中的通用安装说明。
如果这些命令中的任何一个失败,请向 steghide 开发邮件列表([email protected])发送邮件,描述该错误。
最简单的方法是从 steghide 网站下载预编译的二进制文件(包括必要库的 Windows 版本): http://steghide.sourceforge.net/index.php
如果您想自己编译源代码,您需要一个 C++ 编译器。编译源代码的方式取决于您使用的编译器:请查阅您编译器的文档。
Steghide 可以在 cygwin 环境(http://www.cygwin.com/)中使用 gcc 编译,cygwin 是 Windows 的 unix 仿真层,使用上述 Linux/Unix 编译过程。
以下是一些如何使用 steghide 的示例。浏览这些示例以获得初步印象。如果您需要更详细的信息,请阅读手册页。
基本用法如下:
$ steghide embed -cf picture.jpg -ef secret.txt Enter passphrase: Re-Enter passphrase: embedding "secret.txt" in "picture.jpg"... done
此命令会将文件 secret.txt 嵌入到载体文件 picture.jpg 中。
在您如上所示嵌入秘密数据后,您可以将文件 picture.jpg 发送给应接收秘密消息的人。接收者必须按以下方式使用 steghide:
$ steghide extract -sf picture.jpg Enter passphrase: wrote extracted data to "secret.txt".
如果提供的口令正确,原始文件 secret.txt 的内容将从隐写文件 picture.jpg 中提取出来,并保存在当前目录中。
如果您收到一个包含嵌入数据的文件,并且想在提取之前获取有关它的一些信息,请使用 info 命令:
$ steghide info received_file.wav "received_file.wav": format: wave audio, PCM encoding capacity: 3.5 KB Try to get information about embedded data ? (y/n) y Enter passphrase: embedded file "secret.txt": size: 1.6 KB encrypted: rijndael-128, cbc compressed: yes
打印有关隐写文件的一些一般信息(格式、容量)后,系统会询问您是否希望 steghide 尝试获取有关嵌入数据的信息。如果您回答是,则必须提供口令。然后 steghide 将尝试使用该口令提取嵌入数据,如果成功,将打印有关它的一些信息。
您可以从 steghide 网站获取最新版本的 steghide 以及一些附加信息和文档: http://steghide.sourceforge.net/
如果您发现了错误,或者您有疑问、评论、建议等,请发送邮件到开发邮件列表: [email protected] 要接收发送到此列表的邮件,请在以下地址订阅: http://lists.sourceforge.net/lists/listinfo/steghide-devel
如果您希望在新版本 steghide 发布时收到通知,请在以下地址订阅 steghide 公告邮件列表: http://lists.sourceforge.net/lists/listinfo/steghide-announce
您可以通过匿名 cvs 访问最新的开发源代码。只需输入以下行:
$ cvs -d:pserver:[email protected]:/cvsroot/steghide login CVS password: [ Hit RETURN here ]
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/steghide co steghide
您也可以在网络上浏览 cvs 仓库: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/steghide/
您可以通过电子邮件联系我(Stefan Hetzl):[email protected]