foxhackerzdevs/stegofox
GitHub: foxhackerzdevs/stegofox
一款高性能加密隐写 CLI,通过 LSB 嵌入技术将 AES-256-GCM 加密后的任意文件隐藏在 PNG 图像中。
Stars: 2 | Forks: 0
# StegoFox Pro 🦊
**高性能加密隐写 CLI。**
使用 LSB(最低有效位)嵌入技术将任意文件隐藏在 PNG 图像中,并在处理像素之前可选地使用 AES-256-GCM 进行加密。
## 功能
- LSB 隐写术 —— 在载体图像的像素数据中嵌入任意二进制数据
- 嵌入前可选的 AES-256-GCM 加密(PBKDF2-HMAC-SHA256,10万次迭代)
- 无损 PNG 输出 —— 嵌入的数据在保存/重新加载后能完整保留
- 密码错误和 payload 损坏检测会正常失败(不崩溃,不输出乱码)
- 容量检查 —— 在执行任何操作之前,会拒绝嵌入超出载体图像容量的过大数据
## 安装
```
pip install -e .
```
## 用法
```
stegofox embed cover.png secret.txt -o output.png
```
```
# 带有密码保护
stegofox embed cover.png secret.txt -o output.png --password hunter2
```
```
🦊 StegoFox Pro
📸 Loading cover image: cover.png
🔐 Encrypting payload...
🧬 Embedding 712 bits...
✅ Successfully embedded! Saved to output.png
```
```
stegofox extract output.png --password hunter2
```
```
🦊 StegoFox Pro
🔍 Analyzing output.png
🔓 Decrypting...
✅ Extracted 33 bytes
checking output messages exactly
```
```
# 密码错误会正常失败,不会崩溃
stegofox extract output.png --password wrongpass
```
```
🦊 StegoFox Pro
🔍 Analyzing output.png
🔓 Decrypting...
❌ Decryption failed. Wrong password?
```
## 工作原理
载体图像的每个 RGB 通道字节的最低有效位都会被替换为 payload 的一位。在 payload 之前会前置一个 4 字节的 magic signature (`SFOX`) 和一个 4 字节的长度标头,以便提取时能确切知道需要读取多少数据。输出始终保存为 PNG —— 有损格式(如 JPEG 等)会在保存时破坏嵌入的比特位。
使用 `--password` 时,payload 在嵌入前会使用 AES-256-GCM(认证加密)进行加密,因此密码错误将无法通过 auth-tag 检查,并返回清晰的错误提示,而不是输出乱码字节。
## 环境要求
Python >= 3.8,`pillow`,`numpy`,`pycryptodome`。
## 许可证
MIT
标签:DNS 反向解析, Python, 加密, 图像处理, 密码学, 手动系统调用, 无后门, 漏洞扫描器, 逆向工具, 隐写术