0xfa-ni/Image-Steganogrphy-tool

GitHub: 0xfa-ni/Image-Steganogrphy-tool

一款基于 Python 和 PyQt5 的本地图像隐写术实验工具,支持文本隐藏与提取、质量分析和隐写检测等教学全流程。

Stars: 0 | Forks: 0

# 🔐 SecureSteg — 图像隐写术实验室 ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python&logoColor=white) ![PyQt5](https://img.shields.io/badge/GUI-PyQt5-green?logo=qt&logoColor=white) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey) # 🧠 什么是 SecureSteg? SecureSteg 是一款专为学习和实验图像隐写术而设计的本地桌面应用程序。 借助混沌映射驱动的 LSB 替换技术,它允许用户: - 🔒 将秘密文本隐藏在图像中 - 🔓 恢复隐藏的消息 - 📊 测量嵌入后的图像质量 - 🕵️ 检测潜在的隐藏数据 - 🧩 可视化图像位平面 - 📈 比较图像直方图 - 📚 交互式学习隐写术概念 所有操作均在您的机器上本地运行。 ✅ 无需浏览器 ✅ 无需服务器 ✅ 无需云存储 ✅ 无需互联网连接 # ✨ 功能特性 | # | 工具 | 描述 | |---|------|-------------| | 01 | Encode | 将秘密消息隐藏在图像中 | | 02 | Decode | 从编码后的图像中恢复隐藏的消息 | | 03 | Scan | 检查图像尺寸和存储容量 | | 04 | PSNR Analysis | 测量图像质量下降程度 | | 05 | Binary Visualizer | 将文本转换为二进制表示形式 | | 06 | Histogram Viewer | 比较 RGB 分布 | | 07 | Steganalysis | 检测可能的隐藏信息 | | 08 | Bit Plane Viewer | 探索图像位平面 | | 09 | History | 本地操作记录 | | 10 | Learn | 隐写术教育参考资料 | # 📁 项目结构 ``` steg/ ├── main.py # Application entry point ├── views.py # Application views ├── widgets.py # Reusable UI widgets ├── core.py # Steganography logic and analysis ├── history.py # Local history management ├── theme.py # Styling and themes ├── requirements.txt # Dependencies ├── README.md # Documentation ├── build/ # PyInstaller build files ├── dist/ # Generated executable ├── venv/ # Virtual environment ├── __pycache__/ # Python cache └── steg.spec # PyInstaller specification ``` # ⚙️ 环境要求 - Python 3.8+ - PyQt5 - NumPy - Pillow 安装依赖项: ``` pip install -r requirements.txt ``` # 🚀 从源码运行 ``` https://github.com/0xfa-ni/Image-Steganogrphy-tool.git cd Image-Steganogrphy-tool pip install -r requirements.txt python main.py ``` # 🖥️ 运行 EXE ``` dist/ ├── steg.exe └── chat.db ``` 1. 双击 `steg.exe` 2. 开始使用该应用程序 无需安装 Python。 # 📖 用户指南 ## 🔒 编码 将秘密消息隐藏在图像中。 ### 步骤 1. 打开 **Encode** 2. 选择一张图像 3. 输入一个数字种子 4. 选择一种技术: - Logistic Map - Tent Map - SIGN Method 5. 输入您的秘密消息 6. 点击 **Encode & Save PNG** 生成的图像现已包含隐藏的消息。 ## 🔓 解码 恢复隐藏的消息。 ### 步骤 1. 打开 **Decode** 2. 选择编码后的图像 3. 输入原始种子 4. 选择原始技术 5. 点击 **Decode Message** 隐藏的文本将会显示出来。 ## 📏 扫描 分析图像容量。 ### 显示信息 - 分辨率 - 像素数 - 预计的消息容量 ## 📊 PSNR 分析 比较编码前后的图像质量。 ### 步骤 1. 选择原始图像 2. 选择编码后的图像 3. 点击 **Calculate PSNR** ### 结果解读 | PSNR | 质量 | |--------|----------| | >50 dB | 极佳 | | 40–50 dB | 非常好 | | 30–40 dB | 可接受 | | <30 dB | 有明显变化 | ## 🔢 Binary 可视化工具 将文本转换为二进制表示形式。 示例: ``` A = 01000001 ``` 有助于理解文本在嵌入之前是如何存储的。 ## 📈 直方图查看器 比较图像之间的颜色分布。 有助于可视化隐写术对以下通道的影响: - Red Channel - Green Channel - Blue Channel ## 🕵️ Steganalysis 估算图像是否包含隐藏数据。 可能的结果: ``` Clean Suspicious Likely Contains Hidden Data ``` 包含可疑度评分。 ## 🧩 Bit Plane 查看器 逐个位平面检查图像数据。 特性: - Red channel 检查 - Green channel 检查 - Blue channel 检查 - 查看全部 8 个位层 适用于教育和取证目的。 ## 📝 历史 SecureSteg 会自动存储: - Encode 操作 - Decode 操作 - 时间戳 仅在本地存储。 用户可以: - 删除单条记录 - 清除所有历史记录 ## 📚 学习 内置学习资源涵盖: - 隐写术 - 混沌映射 - LSB 编码 - XOR 加密 - PSNR - 隐写分析 # 🧠 工作原理 SecureSteg 结合了以下几种技术: ### 混沌映射 使用数字种子生成伪随机序列: - Logistic Map - Tent Map - SIGN Method ### 像素置乱 通过 Fisher–Yates 洗牌算法将消息位分散到图像像素中。 ### XOR 加密 在嵌入之前,使用从混沌序列派生的密钥对消息进行 XOR 加密。 ### LSB 嵌入 数据被存储在图像色彩通道的最低有效位中。 这些修改通常是肉眼不可见的。 ### 验证 内置工具允许用户评估: - 视觉质量 - 可检测性 - 分布变化 # 💾 数据存储 历史记录使用 JSON 文件存储在本地。 不上传或传输任何信息。 所有数据都保留在您的设备上。 # 📦 构建 EXE 安装 PyInstaller: ``` pip install pyinstaller ``` 构建: ``` python -m PyInstaller --onefile --windowed --name SecureSteg main.py ``` 输出: ``` dist/ └── SecureSteg.exe ``` # 🔮 未来改进 - 📄 将报告导出为 PDF - 🌗 支持浅色主题 - 🔐 基于密码的加密 - 📊 高级隐写分析指标 - 🎚️ 更多嵌入技术 # 🔒 隐私 SecureSteg 完全在您的本地机器上运行。 - 无云服务 - 无遥测数据收集 - 无外部服务器 - 无需互联网 您的图像和消息永远不会离开您的设备。 # 📄 许可证 本项目出于教育和研究目的而创建。 欢迎自由研究和学习代码。请勿将其作为您自己的作品重新分发。 ## 🙏 致谢 - Python - PyQt5 - NumPy - Pillow - PyInstaller
标签:DNS 反向解析, LSB替换, meg, PyQt5, 信息安全, 后端开发, 图像隐写术, 桌面应用, 混沌映射, 漏洞挖掘, 逆向工具, 隐写分析