Fasal17/imgforensicx
GitHub: Fasal17/imgforensicx
一款完全离线的图像取证分析工具,用于检测图像篡改、反取证行为和消息平台传播痕迹,并生成结构化调查报告。
Stars: 0 | Forks: 0
## 🎯 目的与范围
IMGForensicX 旨在帮助调查人员回答如下问题:
- 图像元数据是否已被剥离或篡改?
- 该图像是否可能通过 WhatsApp 或消息平台分享?
- 能否恢复 GPS/位置信息?
- 图像是否经过重压缩或调整大小?
- 是否存在图像操纵或篡改的痕迹?
- 现有证据有哪些局限性?
⚠️ 本工具**不会尝试不可能的恢复操作**,例如从已删除元数据的图像中提取 GPS 数据。
## 🔍 核心功能
- 🔐 **加密哈希**
- MD5, SHA1, SHA256,用于证据完整性和监管链
- 📍 **GPS 与离线定位**
- 提取现有的 GPS EXIF 数据
- 执行近似离线地理定位(无需互联网)
- 🧹 **元数据擦除检测**
- 识别缺失的相机、时间戳和 GPS 元数据
- 标记可能的反取证行为或平台剥离
- 📱 **消息平台检测**
- 检测 WhatsApp / 消息应用的二次传播
- 利用文件名模式、EXIF 缺失、分辨率降低和重压缩指标
- 🧬 **PRNU 启发式分析**
- 估算相机传感器噪声模式
- 仅属启发式方法(非设备识别)
- 🖼️ **ELA (错误等级分析)**
- 生成用于篡改审查的 ELA 热力图
- 用作辅助取证证据
- 📦 **压缩与重编码分析**
- 检测 JPEG 重压缩和调整大小
- 识别消息应用的压缩行为
- 📊 **对调查人员友好的输出**
- 结构化 JSON 报告
- 人类可读的调查人员摘要
- 置信度与局限性说明
- 🌐 **完全离线**
- 无 API
- 无云服务
- 适用于受限环境
## ⚠️ 重要取证说明
- 如果 GPS 元数据被剥离(例如 WhatsApp 图像),**无法恢复确切位置**
- **PRNU 分析属于启发式方法**,并非相机指纹识别
- **ELA 不是独立证据**,必须结合其他指标进行解读
- 结论是**概率性的**,而非绝对定论
这种设计确保该工具保持**法庭可辩护性与道德合规性**。
## 🛠️ 安装说明 (推荐 Kali Linux)
Kali Linux 使用**外部管理的 Python 环境 (PEP 668)**。
为了避免破坏系统 Python,**请使用虚拟环境**。
### 1️⃣ 安装虚拟环境支持(一次性操作)
```
sudo apt install -y python3-venv
```
### 2️⃣ 克隆仓库
```
git clone https://github.com/Fasal17/imgforensicx.git
cd imgforensicx
```
### 3️⃣ 创建并激活虚拟环境
```
python3 -m venv venv
source venv/bin/activate
```
你的提示符现在应显示:
```
(venv) kali@kali:~/imgforensicx$
```
### 4️⃣ 安装依赖
```
pip install -r requirements.txt
```
## 🚀 用法
基本用法:
```
python imgforensicx.py -i image.jpg -o report.json
```
这将生成:
* ✔ 终端中的彩色取证输出
* ✔ `report.json`(结构化取证报告)
* ✔ `image.jpg_ELA.jpg`(ELA 热力图)
## 📄 输出示例(节选)
```
{
"Investigator_Summary": {
"Authenticity": "Image content intact, metadata altered",
"Likely_Distribution_Channel": "WhatsApp / Messaging App",
"Location_Recoverable": false,
"Evidentiary_Value": "Moderate"
}
}
```
## 📁 输出文件说明
| 文件 | 描述 |
| --------------- | ---------------------------------- |
| `report.json` | 完整取证分析报告 |
| `*_ELA.jpg` | 错误等级分析 (ELA) 可视化 |
| Terminal output | 调查人员可读摘要 |
## 🧪 测试环境
* Kali Linux Rolling
* Python 3.11+
* 物理隔离虚拟机 (VirtualBox)
## ⚖️ 法律与道德免责声明
本工具仅用于**教育、研究和经授权的取证分析**。
作者**不对滥用或未经授权分析数据的行为负责**。
## 📜 许可证
MIT 许可证
## 👤 作者
**Fasal**
GitHub: [https://github.com/Fasal17](https://github.com/Fasal17)
标签:DNS 反向解析, ELA, ESC4, EXIF提取, GPS定位, JPEG分析, OSINT, PRNU分析, WhatsApp检测, 元数据分析, 元数据清洗检测, 反取证检测, 司法鉴定, 哈希计算, 图像取证, 图片来源分析, 域渗透, 完整性校验, 数字取证, 电子数据取证, 离线分析, 篡改检测, 自动化脚本, 误差级别分析, 逆向工具, 重压缩检测, 隐写术