9 个版本 (5 个稳定版)
1.1.0 | 2019年9月20日 |
---|---|
1.1.0-post4 | 2019年10月12日 |
1.1.0-post1 | 2019年9月22日 |
1.0.4 | 2019年7月29日 |
1.0.1 | 2019年6月22日 |
#448 in 图像
3MB
1.5K SLoC
% steganer(1) | steganer 使用文档
NAME
steganer — 用于在另一个文件中隐藏文件...或恢复它的库。
SYNOPSIS
| steganer FILE_HIDDEN HOST_FILE [-x|**--extract**] [-h|**--help**] [-V|**--version**]
DESCRIPTION
如果不以提取模式运行,则尝试在 HOST_FILE 中隐藏 FILE_HIDDEN,如果设置提取模式,则尝试从 HOST_FILE 中恢复 FILE_HIDDEN。
隐藏文本文件的示例(首先文本文件太大,因此我们将其压缩后再隐藏)
$ ls -l
-rw-rw-r-- 1 dante dante 926839 Sep 13 20:33 genesis.txt
-rw-rw-r-- 1 dante dante 550225 Sep 13 20:40 lena.png
$ steganer genesis.txt lena.png
thread 'main' panicked at 'File to be hidden is too big for this host image. Current is 926839 bytes but maximum for this image is 786336 bytes', src/stegimage.rs:142:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
$ gzip genesis.txt
$ ls -l
-rw-rw-r-- 1 dante dante 322230 Sep 13 20:33 genesis.txt.gz
-rw-rw-r-- 1 dante dante 550225 Sep 13 20:40 lena.png
$ steganer genesis.txt.gz lena.png
提取隐藏文件的示例
$ ls -l
-rw-rw-r-- 1 dante dante 322230 Sep 13 20:33 genesis.txt.gz
-rw-rw-r-- 1 dante dante 661834 Sep 16 21:47 lena.png
$ steganer genesis_recovered.txt.gz lena.png --extract
$ ls -l
-rw-rw-r-- 1 dante dante 322230 Sep 13 20:33 genesis.txt.gz
-rw-rw-r-- 1 dante dante 322230 Sep 16 21:49 genesis_recovered.txt.gz
-rw-rw-r-- 1 dante dante 661834 Sep 16 21:47 lena.png
如今,steganer 在图像上执行隐写术(目前为 PNG、BMP 和 PPM 图像)。使用的方法是将数据块存储在图像像素的最低有效位中。steganer 在宿主图像中存储的元数据仅包括隐藏数据块的大小,因此提取前必须知道隐藏文件具有哪个扩展名。隐藏质量取决于 image_size/hidden_data_size 比率,因此宿主图像应该远大于隐藏数据,以保持隐藏不被察觉。如果在隐藏后意识到宿主图像出现噪声,则应选择另一个更大的图像作为宿主。
选项
-x, --extract
: 运行在提取模式下。
-h, --help
: 打印简短的使用信息。
-V, --version
: 打印当前版本号。
BUGS
报告问题:https://github.com/dante-signal31/steganer/issues
AUTHOR
Dante Signal31 [email protected]
SEE ALSO
网站:https://github.com/dante-signal31/steganer
COPYRIGHT
版权所有 (c) 2019 Dante-Signal31 [email protected]。保留所有权利。
redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or
promote products derived from this software without specific prior written permission.
4. Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes
software developed by the "Dante-Signal31" (dante.signal31@gmail.com).'
本软件由版权所有者和贡献者提供,按“原样”提供,并不提供任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性的暗示保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务的中断)承担责任,即使被告知此类损害的可能性。即使被告知此类损害的可能性。
依赖项
~20MB
~198K SLoC