ozan2003/cloakimg
GitHub: ozan2003/cloakimg
一款基于 Rust 开发的命令行隐写工具,利用 RGB LSB 技术在图片中嵌入和提取文本或二进制数据,支持可选加密与完整性校验。
Stars: 4 | Forks: 0
# cloakimg
[](LICENSE)

[](https://github.com/ozan2003/cloakimg/stargazers)
[](https://github.com/ozan2003/cloakimg/commits/master)
[](https://github.com/ozan2003/cloakimg)
[](https://deps.rs/repo/github/ozan2003/cloakimg?path=.)
一款利用 RGB LSB 隐写术将 UTF-8 文本/二进制数据隐藏到图像中并进行容量与完整性检查的命令行工具。
## 功能特性
- **将文本/二进制数据编码到图像中**:使用 RGB 通道的最低有效位 (LSB)。
- **解码嵌入的数据**:从兼容的图像中恢复隐藏的消息。
- **文件或直接输入**:直接提供数据或从文件提供。
- **完整性检查**:使用哈希验证嵌入数据的完整性。
- **可选加密**:在文件中存储密钥/随机数对,以便在嵌入前对数据进行加密。
- **安全的错误处理**:清晰的错误信息,失败时返回非零退出码。
## 使用方法
该工具通过子命令驱动:
- **`encode`**:将数据嵌入到文件中。
- **`decode`**:从文件中提取数据。
- **`cap`**:计算图像的最大可能载荷大小。
运行以下命令查看内置帮助:
```
cloakimg --help
```
## 示例
- **隐藏一条简短说明**:
```
cloakimg encode data/tp0n3p08.png -t "Meet at 19:30." # output is "a.png"
```
- **将源代码嵌入到图像中**:
```
cloakimg encode data/tp0n3p08.png --file src/stego/encode.rs
```
- **恢复消息到终端**:
```
cloakimg decode data/tp0n3p08_secret.png
```
- **恢复消息到文件**:
```
cloakimg decode data/with_payload.png --output recovered.txt
```
## 加密(可选)
通过使用密钥文件,在嵌入之前为载荷启用加密。
密钥文件可以由 32 个原始字节或 32 字节的 ASCII 十六进制字符串组成。
每次加密都会生成一个新的 nonce,并自动嵌入到载荷中。
格式为:`[12-byte nonce][N-byte ciphertext][16-byte tag]`。
在解密期间,nonce 会被自动提取。
```
# 嵌入前加密
cloakimg encode data/tp0n3p08.png -o data/tp0n3p08_secret.png \
--key-file secrets/image.key \
-t "Meet at 19:30."
# 提供相同的密钥进行解密(nonce 会自动提取)
cloakimg decode data/tp0n3p08_secret.png \
--key-file secrets/image.key
```
密钥不匹配将导致解密失败。每次加密都会自动使用唯一的 nonce。
## 限制
- 支持的图像格式:PNG, BMP, TIFF, PPM。
- 可用容量取决于图像尺寸和编码细节;过长的消息可能无法放入较小的图像中。
标签:LSB隐写, meg, Rust, Steganography, 信息安全, 加密, 可视化界面, 图像处理, 数据嵌入, 数据提取, 数据隐藏, 文件操作, 文档结构分析, 漏洞扫描器, 编码解码, 网络安全, 网络流量审计, 通知系统, 隐写术, 隐私保护