ufex/Ufex
GitHub: ufex/Ufex
Ufex 是一款跨平台桌面应用,用于在统一界面中查看、解析、可视化多种文件格式的内部结构与元数据,并通过 .NET 插件架构实现可扩展的格式支持。
Stars: 1 | Forks: 0
# Ufex — 通用文件浏览器
Ufex 是一款跨平台桌面应用程序,用于检查多种不同文件格式的内部结构和元数据。打开任意文件,即可在一个界面中即时查看其十六进制数据、解析后的结构、可视化布局和验证结果。

## 快速开始
下载地址:https://github.com/ufex/Ufex/releases
## 功能
- **文件格式识别** — 使用基于特征码的数据库(包含 magic bytes、文件扩展名和 MIME 类型)自动识别文件类型。该数据库定义在 XML 配置文件中,无需编写代码即可扩展。
- **十六进制查看器** — 通过同步的十六进制和 ASCII 列浏览任意文件的原始字节。
- **信息** — 一目了然地查看文件系统属性(大小、时间戳、权限)和特定格式的元数据。
- **结构** — 在交互式树状视图中探索已解析的文件片段。选择任意节点即可在详情面板中查看其字段、偏移量和解码后的值。
- **可视化** — 查看文件数据的图形表示,例如展示文件如何划分为多个片段的文件映射、嵌入的图像预览等。
- **验证** — 查看特定格式的验证结果(信息、警告、错误),以检查文件是否符合其规范。
- **数字格式切换** — 在整个 UI 中,对数值在十六进制、十进制、二进制和 ASCII 显示模式之间进行切换。
- **拖放** — 通过将文件拖放到窗口或使用文件浏览器来打开文件。
- **搜索** — 在文件中查找字节模式和文本。
- **支持的格式** - JPEG、GIF、PNG、BMP、HEIF、PDF、DOCX、XLSX、PPTX、ZIP、GZIP、WAV、AVI、3GP 等等...
## 插件架构
Ufex 旨在通过 **.NET 程序集插件** 进行扩展。每个插件教会 Ufex 如何解析、显示和验证特定的文件格式(例如 PNG、ZIP、BMP 或 PDF)。
插件是标准的 .NET 类库项目,它们引用了 `Ufex.API` 库,并在运行时从 `plugins/` 目录动态加载。这意味着第三方开发者可以在不修改核心应用程序的情况下添加对新文件格式的支持。
## 技术栈
| 组件 | 技术 |
|-----------|------------|
| 语言 | C# |
| 运行时 | .NET 10 |
| UI 框架 | [Avalonia UI](https://avaloniaui.net/) 11.2 |
| UI 主题 | Avalonia Fluent Theme |
| 图标 | [Fluent Icons](https://github.com/nicehash/FluentIcons.Avalonia) |
| 文本/代码编辑 | [AvaloniaEdit](https://github.com/AvaloniaUI/AvaloniaEdit) |
| CI/CD | GitHub Actions |
| 安装程序 | MSI via [WiX Toolset](https://wixtoolset.org/) |
| 安装程序 | DMG (Intel x64 + Apple Silicon arm64) |
| 安装程序 | AppImage |
## 项目结构
```
ufex/
├── src/
│ ├── Ufex.Desktop # Main desktop application (Avalonia)
│ ├── Ufex.API # Public API & base classes for plugins
│ ├── Ufex.FileType # File type identification engine
│ ├── Ufex.Hex # Hex viewer library
│ └── Ufex.Controls.Avalonia # Reusable Avalonia UI controls
├── config/ # XML file-type signature database
├── ext/ # Extension plugin source (git submodules)
├── tests/ # Unit tests
├── build/ # Build output staging
└── .github/workflows/ # CI/CD pipeline
```
## 快速开始 (开发)
### 前置条件
- [.NET 10 SDK](https://dotnet.microsoft.com/download) 或更高版本
### 构建与运行
```
# Clone the repository
git clone https://github.com/ufex/Ufex.git
cd Ufex
# Restore dependencies and build
dotnet build ufex.sln
# Run the application
dotnet run --project src/Ufex.Desktop
```
### 运行测试
```
dotnet test ufex.sln
```
### 贡献方式
- **添加文件类型签名** — 扩展 `config/` 目录中的 XML 配置文件以识别更多文件格式(无需 C# 基础)。
- **构建插件** — 创建一个新的 .NET 类库来解析和显示某种文件格式。
- **改进核心应用** — Bug 修复、UI 改进以及桌面应用程序的新功能。
- **文档** — 改进或增加项目或特定文件格式的文档。
## 许可证
Ufex 采用 [Apache License 2.0](LICENSE) 授权。
标签:3GP, AVI, BMP, DOCX, GIF, GZIP, HEIF, JPEG, PDF, PNG, PPTX, SOC Prime, WAV, XLSX, ZIP, 二进制分析, 云安全运维, 云资产清单, 元数据查看器, 可视化布局, 开发工具, 拖拽操作, 插件架构, 数字取证实务, 文件查重, 文件格式分析, 文件格式识别, 文件浏览器, 文件系统, 文件结构解析, 文件验证, 结构化数据, 调试插件, 跨平台桌面应用, 逆向工程, 魔术字节