0xfa-ni/Image-Steganogrphy-tool
GitHub: 0xfa-ni/Image-Steganogrphy-tool
一款基于 Python 和 PyQt5 的本地图像隐写术实验工具,支持文本隐藏与提取、质量分析和隐写检测等教学全流程。
Stars: 0 | Forks: 0
# 🔐 SecureSteg — 图像隐写术实验室



# 🧠 什么是 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, 信息安全, 后端开发, 图像隐写术, 桌面应用, 混沌映射, 漏洞挖掘, 逆向工具, 隐写分析