将任意类型的文件隐藏在你选择的图片中
| 要隐藏的文件 | 封面图片 | 隐藏了文件的封面图片 |
|---|---|---|
![]() | ![]() | ![]() |
数字存储基础
计算机上的一切,从 .exe 文件到 .jpg 图片,都以比特(bits)存储。比特就是 1 和 0。例如:
A = 01000001B = 01000010因此,一个 1GB 的文件实际上就是 85 亿个 1 和 0 排列而成。这被称为二进制,是所有数字存储的基础。
像素与颜色
图像由像素组成。每个像素的颜色来自 RGB(红、绿、蓝)格式。每个 RGB 通道的取值范围为 0 到 255,即 256 个值。这个范围对应 8 比特(2^8 = 256),因此每个通道可以用 1 个字节表示。
示例:一个红色像素为 (0xFF, 0x00, 0x00),用比特表示为 11111111 00000000 00000000。
在图像中隐藏文件
在图片中隐藏文件实际上比听起来简单。我们只需要:
例如,如果我们从文件中取出前 2 个比特,替换到像素的一个通道中,一个红色像素 (11111111 00000000 00000000) 可能会变成 (11111111 00000000 00000011),肉眼无法察觉差异。
对每个像素和文件中的每个比特重复这个过程,瞧!文件就隐藏在图像中了!
亲自尝试
查看提供的 Python 仓库,里面有对这个过程的易于理解的实现。
# 克隆仓库
git clone https://github.com/JoshuaKasa/van-gonography.git
# 进入 van-gonography 目录
cd van-gonography
# 安装所需依赖
pip install -r requirements.txt
要以 UI 模式运行程序(更简单易用,但对开发者用处较少),只需运行以下命令:
python vangonography.py
要以 CLI 模式运行程序(更复杂但功能更多),只需运行以下命令:
python vangonography.py -cli
你可以配合使用以下参数:
usage: vangonography.py [-h] [-ood] [-l] [-cli] [-o OUTPUT_DIR] [-v] [--encrypt] [--decrypt] [--key KEY] [--json JSON_FILE] [--stealth] [-s] [-e] [-d] [-c COVER_IMAGE]
[-f HIDDEN_FILE]
Van Gonography 是一个将文件隐藏在图像中的隐写工具。
options:
-h, --help 显示此帮助信息并退出
Optional arguments:
-ood 解码后自动打开文件(默认:False)
-l, --log 为程序生成日志文件(默认:False)
-cli 以 CLI 模式运行程序,这意味着不会有菜单(默认:False)
-o OUTPUT_DIR, --output OUTPUT_DIR
修改后的图像或提取文件的输出目录
-v, --version 显示版本号并退出
--encrypt 隐藏前对数据进行加密(默认:False)
--decrypt 提取后对数据进行解密(默认:False)
--key KEY 用于解密数据的密钥(默认:None)
--json JSON_FILE 包含参数的 JSON 文件(默认:None)
--stealth 以隐身模式隐藏文件(默认:False)
Positional arguments (仅 CLI 模式下使用):
-s, --show 显示两张图片之间的差异(默认:False)
-e, --encode 将文件编码到图像中(默认:False)
-d, --decode 解码图像中隐藏的文件(默认:False)
-c COVER_IMAGE, --cover COVER_IMAGE
用于隐藏或提取的封面图像,在使用解码、编码或对比时作为位置参数
-f HIDDEN_FILE, --file HIDDEN_FILE
要隐藏的文件
例如,如果你想将一个名为 secret.txt 的文件隐藏到名为 image.png 的图像中,并将修改后的图像保存到名为 output 的文件夹中,可以运行以下命令:
python vangonography.py -cli -e -c [你的 `image.png` 封面图像的绝对路径] -f [你的 `secret.txt` 文件的绝对路径] -o Output
这将在程序所在目录下创建一个名为 Output 的文件夹,里面包含一个名为 Cover_txt.png 的文件,即修改后的带有隐藏文件的图像。如果你想从图像中解码文件,可以运行以下命令:
python vangonography.py -cli -d -c [你的 `Cover_txt.png` 封面图像的路径(绝对或相对)] -o Output
如果你还想创建一个包含所有程序信息的 log.log 文件,可以运行以下命令:
python vangonography.py -cli -d -c [你的 `Cover_txt.png` 封面图像的路径(绝对或相对)] -o Output -l
MIT © Van Gonography MIT
欢迎提交拉取请求,我非常喜欢看到人们为我的项目做贡献,并且我会确保查看每一个请求。随意贡献翻译、功能、错误修复或任何你认为必要的内容,甚至包括文档和 README 文件!如果遇到任何错误,请提交 issue,我会尽快修复 :)
我们欢迎社区的贡献!无论你是开发者、设计师还是热心用户,都有很多方式参与进来。
准备好贡献了吗?从 Fork 仓库开始,今天做出你的第一份贡献吧。每一份贡献,无论多小,都会带来改变!
| 这是我们要隐藏到图片中的文件 | 这是我们要用来隐藏文件的图片 | 这是包含了隐藏文件的封面图片 |