ManassYPanicker/stegoghost

GitHub: ManassYPanicker/stegoghost

基于 PySide6 构建的多格式隐写与隐写分析桌面应用,支持在图像、音频、GIF 和无损视频中嵌入和检测加密数据。

Stars: 0 | Forks: 0

# StegoGhost ![Python 版本](https://img.shields.io/badge/python-3.11%2B-blue) ![PySide6](https://img.shields.io/badge/PySide6-GUI-green) ![测试](https://img.shields.io/badge/tests-82%20passing-success) ![许可证](https://img.shields.io/badge/license-MIT-blue) **一个使用 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 ``` ## 📸 截图 image ## 🛣️ 路线图 - 在 VideoHandler 中实现完整的音频保留。 - 扩展隐写分析以包含结构特征检测(例如 outguess、steghide)。 - 增加对 FLAC(无损音频)的支持。 - 将分析报告导出为 PDF。 ## 📄 许可证 该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
标签:DNS 反向解析, PySide6, 多媒体处理, 密码学, 手动系统调用, 数据隐藏, 桌面应用, 逆向工具, 隐写分析, 隐写术