ManassYPanicker/stegoghost
GitHub: ManassYPanicker/stegoghost
基于 PySide6 构建的多格式隐写与隐写分析桌面应用,支持在图像、音频、GIF 和无损视频中嵌入和检测加密数据。
Stars: 0 | Forks: 0
# StegoGhost




**一个使用 PySide6 构建的高性能、多格式隐写与隐写分析工作站。**
StegoGhost 允许您使用最低有效位(LSB)嵌入技术,将加密的 payload(文本或文件)安全地隐藏在图像、音频、GIF 和视频中,并配备防御性隐写分析引擎,利用统计启发式算法检测隐藏数据。
## 🚀 功能亮点
- **多格式支持:** 支持在图像(PNG、BMP、TIFF)、音频(WAV)、动态 GIF 和视频(MKV)中嵌入数据。
- **军用级加密:** 所有 payload 在嵌入前均使用 AES-GCM(256 位)进行加密,并通过 PBKDF2HMAC 进行密钥派生。
- **防御性隐写分析:** 内置启发式引擎,利用卡方检验和 LSB 自相关性来检测 LSB 隐写术典型的结构异常。
- **精美的 Binance 风格 UI:** 使用 PySide6 构建的现代深色主题界面,具备拖放区域、实时容量计、自定义波形渲染和流畅的动画效果。
- **零内存泄漏:** 结合 OpenCV 流处理的线程化操作,确保您在编码 GB 级视频时实现 O(1) 的内存消耗。
- **响应迅速且安全:** 完全可中断的后台线程,在您取消长时间运行的任务时会自动清理资源。
## 📦 支持的格式
| 格式类型 | 支持的输入扩展名 | 输出格式 | 编解码器/详情 |
|-------------|-----------------------------|---------------|---------------|
| **图像** | `.png`, `.bmp`, `.tiff` | `.png` | 无损 RGBA |
| **音频** | `.wav` | `.wav` | 无损 PCM |
| **GIF** | `.gif` | `.gif` | 256色调色板 |
| **视频** | `.mp4`, `.avi`, `.mov`, `.mkv` | `.mkv` | FFV1 (无损) |
## ⚠️ 架构限制(为什么是这样设计的)
为了保证您隐藏的加密 payload 的完整性,StegoGhost 严格执行无损编码 pipeline。有损压缩会破坏 LSB 数据。
- **图像:** 由于 DCT 量化,JPEG 从根本上与 LSB 隐写术不兼容。StegoGhost 严格输出为 PNG。
- **音频:** MP3/AAC 是有损的。StegoGhost 仅接受和输出未压缩的 PCM WAV 文件。
- **GIF:** 在 256 色的 GIF 中修改 LSB 会改变像素索引。为了防止调色板溢出和可见的颜色破坏,StegoGhost 将载体帧预先量化为 32 色。
- **视频:** 像 H.264/H.265 这样的现代编解码器会抹除 LSB。StegoGhost 强制要求输出视频在 Matroska (`.mkv`) 容器中使用数学无损的 `FFV1` 编解码器。原始视频中的音轨不会被保留。
- **隐写分析:** 分析引擎依赖于统计启发式算法(LSB 比例、卡方检验、自相关)。这些算法会产生一个“可疑度得分”——它们是指示性指标,**并非法医级别的确凿证据**。
## 🏗️ 架构概述
该应用程序遵循简洁的 MVC 启发式架构:
- `core/`:包含无界面的处理引擎(`handlers`、`payload`、`crypto`、`steganalysis`、`settings`)。
- `pages/`:映射到应用程序不同功能区的 PySide6 QWidget 类。
- `widgets/`:可复用的自定义 UI 组件(DragDropZone、CapacityMeter、ScoreGauge 等)。
- `utils/`:文件和系统实用工具。
编码操作在专用的 `QThread` worker 上运行,使 UI 能够保持完美的响应,并通过 Qt Signal 报告实时进度。
## 🛠️ 安装说明
StegoGhost 需要 Python 3.11+。
```
# Clone the repository
git clone https://github.com/example/StegoGhost.git
cd StegoGhost
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate # Or `.\.venv\Scripts\Activate.ps1` on Windows
# Install dependencies
pip install -r requirements.txt
```
## 🎮 运行应用程序
```
python -m stego_ghost.main
```
## 🧪 运行测试
StegoGhost 附带了一个健壮的测试套件(82 个通过的测试),用于验证所有编解码器的逐字节保真度,并验证隐写分析启发式算法的统计完整性。
```
pytest tests/ -v
```
## 📸 截图
## 🛣️ 路线图
- 在 VideoHandler 中实现完整的音频保留。
- 扩展隐写分析以包含结构特征检测(例如 outguess、steghide)。
- 增加对 FLAC(无损音频)的支持。
- 将分析报告导出为 PDF。
## 📄 许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
## 🛣️ 路线图
- 在 VideoHandler 中实现完整的音频保留。
- 扩展隐写分析以包含结构特征检测(例如 outguess、steghide)。
- 增加对 FLAC(无损音频)的支持。
- 将分析报告导出为 PDF。
## 📄 许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。标签:DNS 反向解析, PySide6, 多媒体处理, 密码学, 手动系统调用, 数据隐藏, 桌面应用, 逆向工具, 隐写分析, 隐写术