nullsaint/magika-gui-portable
GitHub: nullsaint/magika-gui-portable
一款基于 Google Magika 的便携式 AI 文件识别工具,实现无需安装的深度文件类型判定与可视化分析。
Stars: 2 | Forks: 1
# 🔍 Magika GUI — 便携式 AI 文件检查器
**无需安装的终极深度学习文件识别工具。**
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/)
[](https://google.github.io/magika/)
[]()

## ⚡ 这是什么?
**Magika GUI** 将 [Google 的 Magika](https://github.com/google/magika) —— 一款最先进的 AI 文件识别系统 —— 包装成一个美观的便携式桌面应用程序。无需 Python 知识,也无需命令行。只需下载、运行并扫描即可。
Magika 使用一个自定义的深度学习模型(而非简单的“魔数”)在 **数百万个文件** 上进行训练,能够以 >99% 的准确率识别 **100+ 种文件类型**。这是 Google 内部大规模使用的相同技术。
此 GUI 让 **安全研究人员**、**取证分析师**、**渗透测试人员** 以及 **好奇的高级用户** 都能轻松使用这些强大功能。
## 🎯 功能
### 🧠 AI 驱动的识别
- 不论扩展名或混淆方式,均可检测 **真实的文件类型**
- 借助 Google 的生产级深度学习模型(ONNX)
- 为每个识别结果返回 **置信度评分**
### 📊 可视化分析仪表板
- **饼图** — 扫描目录中的文件类型分布
- **直方图** — 置信度评分分布
- **统计卡片** — 一目了然地显示总文件数、唯一类型数、平均置信度
### 🔎 深度文件检查器
- **可排序列** — 点击标签(字母 A→Z)或评分(▲▼)进行排序
- **类型筛选** — 下拉菜单按任意检测到的文件类型筛选
- **实时搜索** — 即时按文件名查找特定文件
- **状态计数器** — 始终显示“显示 X / Y 个文件”
### ⚙️ 可配置的检测引擎
- **高置信度** — 最大精度,更少误报
- **中等置信度** — 平衡模式
- **最佳猜测** — 最大召回率,捕捉边缘情况
### 📤 导出与报告
- **JSON 导出** — 保存完整的扫描结果以供进一步分析
- 导出内容包括:文件名、标签、MIME 类型和置信度评分
### 🖥️ 便携且零安装
- 单个 `.exe` 文件 — 无需 Python、无依赖、无安装
- 深色主题的专业 UI
- 正确的内存清理 — 无僵尸进程
## 📸 截图

| 主扫描器 | 分析仪表板 |
|:---:|:---:|
|  |  |
## 🚀 快速开始
### 选项 A:下载便携版 EXE(推荐)
1. 前往 [**发布页面**](../../releases)
2. 下载 `magika-gui-portable.exe`
3. 双击运行 — 搞定!
### 选项 B:从源代码运行
```
# 克隆仓库
git clone https://github.com/YOUR_USERNAME/magika-gui.git
cd magika-gui
# 安装依赖
pip install -r requirements.txt
# 启动
python main.py
```
### 选项 C:自行构建 EXE
```
pip install -r requirements.txt
pyinstaller --noconfirm --onefile --windowed \
--name magika-gui-portable \
--add-data "PATH_TO_SITE_PACKAGES/magika/models;magika/models" \
--add-data "PATH_TO_SITE_PACKAGES/magika/config;magika/config" \
--add-data "PATH_TO_SITE_PACKAGES/customtkinter;customtkinter" \
main.py
```
## 🛠️ 工作原理
```
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Select Dir │───▶│ Walk Files │───▶│ Magika Engine │
└─────────────┘ └──────────────┘ │ (ONNX Model) │
└────────┬────────┘
│
┌──────────────────────┤
▼ ▼
┌──────────┐ ┌─────────────┐
│ Terminal │ │ Analysis │
│ Output │ │ Dashboard │
└──────────┘ └─────────────┘
```
1. **选择** 要扫描的文件夹
2. Magika 的神经网络 **分析** 每个文件的二进制内容
3. 结果实时流式传输到 **终端**
4. 点击 **分析** 查看完整可视化仪表板
5. **筛选、排序、搜索** 并 **导出** 你的发现
## 🔬 使用场景
| 场景 | Magika GUI 如何帮助 |
|------|---------------------|
| **恶意软件分析** | 识别伪装成文档的可执行文件 |
| **取证调查** | 在证据镜像中检测真实文件类型 |
| **数据审计** | 在大型数据集中发现分类错误的文件 |
| **安全测试** | 验证上传过滤器无法被绕过 |
| **好奇心** | 发现任何文件的真实内容 |
## 📦 技术栈
| 组件 | 技术 |
|------|------|
| AI 引擎 | [Google Magika](https://github.com/google/magika)(ONNX Runtime) |
| GUI 框架 | [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter) |
| 图表 | [Matplotlib](https://matplotlib.org/)(面向对象 API) |
| 文件列表 | 原生 `ttk.Treeview`(高性能) |
| 打包 | [PyInstaller](https://pyinstaller.org/) |
## 📋 要求(仅源代码)
```
magika
customtkinter
matplotlib
pyinstaller
```
需要 **Python 3.10+**。
## ⚠️ 免责声明
## 📄 许可证
本项目根据 **MIT 许可证** 授权 — 详细信息请参见 [LICENSE](LICENSE) 文件。
底层 Magika 引擎由 Google 根据 **Apache 2.0** 授权。标签:AI文件识别, Google Magika, GUI工具, Magika, ONNX模型, Python 3.10+, 可排序表格, 实时搜索, 开源安全, 数字取证, 文件扩展名绕过, 文件类型鉴定, 无需安装, 桌面应用, 深度学习文件类型检测, 漏洞挖掘, 生产级AI模型, 直方图, 类型过滤, 统计卡片, 置信度评分, 自动化脚本, 逆向工具, 隐藏文件类型识别, 饼图