CleasbyCode/pdvrdt_rust
GitHub: CleasbyCode/pdvrdt_rust
基于 PNG 数据块的高容量隐写术 CLI 工具,支持加密压缩后嵌入最大 2GB 文件并可从主流社交平台图片中提取。
Stars: 0 | Forks: 0
# pdvrdt_rust
***这是我的 C++ 隐写术工具 [***pdvrdt***](https://github.com/CleasbyCode/pdvrdt) 的实验性 Rust 移植版***
***pdvrdt*** 是一个快速、易用的隐写术命令行工具,用于通过 **PNG** 载体图像隐藏和提取任意文件类型。
这里还有一个 [***Web 版本***](https://cleasbycode.co.uk/pdvrdt/app/),你可以立即使用,作为下载和编译 CLI 源代码的便捷替代方案。Web 文件上传限制为 **20MB**。

*图像:“Wolf” / ***PIN: 7699785107511381336****
与在载体图像像素中隐藏数据的常见隐写术方法([***LSB***](https://ctf101.org/forensics/what-is-stegonagraphy/)) 不同,***pdvrdt*** 将文件隐藏在 ***PNG*** 图像的各种 ***块(chunks)*** 中,例如 iCCP 和 IDAT。
你可以隐藏最大 ***2GB*** 的任意文件类型,尽管兼容的托管网站(*如下所列*)有其自带的 ***更小*** 的尺寸限制和 *其他要求。
为了增加存储容量和更好的安全性,你嵌入的数据文件使用 ***zlib*** 压缩,并使用 ***libsodium*** 加密库进行加密。
## 用法 (Linux)
```
$ sudo apt install libsodium-dev pkg-config
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ cargo build --release
Build complete. Binary at 'target/release/pdvrdt-rs'.
$ sudo cp target/release/pdvrdt-rs /usr/bin
$ pdvrdt-rs
Usage: pdvrdt-rs conceal [-m|-r]
pdvrdt-rs recover
pdvrdt-rs --info
$ pdvrdt-rs conceal your_cover_image.png your_secret_file.doc
Platform compatibility for output image:-
✓ X-Twitter
✓ ImgPile
✓ PostImage
✓ ImgBB
✓ Flickr
Saved "file-embedded" PNG image: prdt_12462.png (143029 bytes).
Recovery PIN: [***2166776980318349924***]
Important: Keep your PIN safe, so that you can extract the hidden file.
Complete!
$ pdvrdt-rs recover prdt_12462.png
PIN: *******************
Extracted hidden file: your_secret_file.doc (6165 bytes).
Complete! Please check your file.
```
## 兼容平台
*发布大小限制以载体图像 + 压缩数据文件的总大小为准:*
* ***Flickr*** (**200MB**), ***ImgBB*** (**32MB**), ***PostImage*** (**32MB**), ***Reddit*** (**19MB** | ***-r 选项***),
* ***Mastodon*** (**16MB** | ***-m 选项***), ***ImgPile*** (**8MB**), ***X-Twitter*** (**5MB** + ****尺寸限制,见下文***)
*X-Twitter 图像尺寸限制:*
* ****PNG-32/24*** (*真彩色*) **68x68** 最小 - **900x900** 最大。
* ***PNG-8*** (*索引色*) **68x68** 最小 - **4096x4096** 最大。
https://github.com/user-attachments/assets/76732196-815b-45ac-b71d-6e1aca672e25
https://github.com/user-attachments/assets/7a1557d1-4772-4d3d-94a6-ec58d0977a59
*图像来源:***"Red_Dragon / [@ultra_arcane](https://x.com/ultra_arcane)"****
pdvrdt ***模式*** 参数:
***conceal*** - 压缩、加密你的秘密数据文件,并将其嵌入到 ***PNG*** 载体图像中。
***recover*** - 从 ***PNG*** 载体图像中解密、解压并提取隐藏的数据文件。
pdvrdt ***conceal*** 模式平台选项:
"***-m***" - 要创建适合在 ***Mastodon*** 平台上发布的兼容“文件嵌入”***PNG*** 图像,你必须在 ***conceal*** 模式下使用 ***-m*** 选项。
```
$ pdvrdt-rs conceal -m my_image.png hidden.doc
```
"***-r***" - 要创建适合在 ***Reddit*** 平台上发布的兼容“文件嵌入”***PNG*** 图像,你必须在 ***conceal*** 模式下使用 ***-r*** 选项。
```
$ pdvrdt-rs conceal -r my_image.png secret.mp3
```
在 ***Reddit*** 网站上,选择“***Create Post***”,然后选择“***Images & Video***”选项卡,以附加并发布你的 ***PNG*** 图像。
要正确从 ***X-Twitter*** 或 ***Reddit*** 下载图像,请在保存之前点击帖子中的图像以将其完全展开。
## 第三方库
本项目使用了以下第三方库:
- [**libsodium**](https://libsodium.org/) 用于加密功能。
- [**LICENSE**](https://github.com/jedisct1/libsodium/blob/master/LICENSE)
- Copyright (c) 2013-2025 Frank Denis (github@pureftpd.org)
- **zlib**: 通用压缩库
- 许可证:zlib/libpng license (参见 [***LICENSE***](https://github.com/madler/zlib/blob/develop/LICENSE) 文件)
- Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler
##
标签:CLI, CTF工具, DNS 反向解析, Libsodium, LSB隐写替代, meg, PNG图像处理, Rust, Steganography, WiFi技术, Zlib, 信息安全, 可视化界面, 密码学, 手动系统调用, 数据压缩, 数据隐藏, 文件加密, 漏洞搜索, 红色团队, 网络安全, 网络流量审计, 蓝队检测, 通知系统, 通知系统, 隐写术, 隐私保护