9ght-code/Oblivion
GitHub: 9ght-code/Oblivion
Oblivion 是一个基于 .NET 8 和原生 C 引擎的 Windows 桌面 PE 文件静态分析器,提供从结构解析、反汇编到安全启发式检测和报告生成的完整逆向分析能力。
Stars: 0 | Forks: 0
# Oblivion
一个用于静态分析 PE 文件(`.exe`、`.dll`)的 Windows 桌面应用程序。将二进制文件组织到工作区中,导入它们,通过原生的 C 引擎解析其结构,并通过现代化的 Fluent UI 探索结果。





## 功能
- **工作区** — 将分析过的文件组织到文件夹中,支持导入、重命名、移动和删除。
- **完整性追踪** — 基于哈希的验证,带有 `Verified`(已验证)/ `Modified`(已修改)/ `Deleted`(已删除)徽章,以及每个文件的修改备注。
- **原生 PE 解析器** — 低级别 C 引擎(`Oblivion.Core`)处理 MZ/PE 验证、节解析和导入目录遍历。
- **丰富的分析界面** — 包含以下内容的选项卡式分析窗口:
- **Overview**(概览) — 架构、文件大小、入口点和关键头部字段
- **Sections**(节) — 节表,带有 R/W/X 权限徽章和每个节的熵值
- **Imports**(导入) — 导入库和已解析的函数,根据 WinAPI 函数数据库进行注释
- **Strings**(字符串) — 提取的 ASCII/Unicode 字符串
- **Disassembler**(反汇编器) — 由 [Iced](https://github.com/icedland/iced) 驱动的 x86/x64 反汇编,支持指令分类
- **Entry Point**(入口点) — 入口点附近的反汇编
- **Hex Editor**(十六进制编辑器) — 原始字节检查和编辑
- **Security**(安全) — 异常检测、加壳器/安装程序启发式分析和附加数据分析
- **Functions DB**(函数数据库) — WinAPI 函数查找
- **Tools**(工具) — RVA ↔ RAW 转换器和嵌入式 C 编译器辅助工具
- **熵值可视化** — 基于每个节的熵值,以识别加壳或加密区域。
- **PE 编辑** — 添加/编辑节并将更改写回磁盘。
- **PDF 导出** — 通过 QuestPDF 生成分析报告。
- **主题** — 五种内置调色板(GitHub Dark、Monokai、Nord、Solarized Dark、Light),带有实时的十六进制颜色编辑器;主题在不同会话间持久保存。
## 架构
Oblivion 是一个多项目的 .NET 8 解决方案,具有原生的 C 核心:
| 项目 | 角色 |
|---|---|
| **Oblivion.Core** | 原生 C DLL — 低级别的 PE 解析器(MZ/PE 验证、节、导入) |
| **Oblivion.Interpop** | 针对 `Oblivion.Core.dll` 的 C# P/Invoke 封装 |
| **Oblivion.Data** | EF Core + SQLite — 实体、存储库、快照、哈希处理 |
| **Oblivion.GUI** | WPF 应用程序(WPF-UI Fluent),通过 CommunityToolkit.Mvvm 实现 MVVM |
```
GUI ──> Data + Interop ──(P/Invoke)──> Core.dll
```
GUI 遵循 **ViewModel 优先的 MVVM** 模式:导航由隐式的 `DataTemplate` 映射驱动,依赖注入通过 `Microsoft.Extensions.Hosting` 连接,可观察状态使用 CommunityToolkit 源生成器。
## 技术栈
- .NET 8, C# 12, WPF + [WPF-UI](https://github.com/lepoco/wpfui) 4.1
- [CommunityToolkit.Mvvm](https://github.com/CommunityToolkit/dotnet) 8.4 (`[ObservableProperty]`, `[RelayCommand]`)
- EF Core 8 + SQLite
- [Iced](https://github.com/icedland/iced) 反汇编器,[QuestPDF](https://www.questpdf.com/) 报告,[WPFHexaEditor](https://github.com/abbaye/WpfHexEditorControl)
- 原生 C (Oblivion.Core)
## 构建
需要 **.NET 8 SDK**,并且对于原生核心,需要**安装了 C++ 工作负载的 Visual Studio**(该 C 引擎构建为 `Oblivion.Core.dll`)。
```
# 构建完整 solution
dotnet build Oblivion.sln
# 或者仅构建 GUI
dotnet build Oblivion.GUI/Oblivion.GUI.csproj
```
然后运行 `Oblivion.GUI`。首次启动时,应用程序会在 `%AppData%/Oblivion/` 下创建其 SQLite 数据库和主题文件。
## 项目布局
```
Oblivion.Core/ Native C PE parser (DLL)
Oblivion.Interpop/ P/Invoke wrapper
Oblivion.Data/ EF Core + SQLite, repositories, snapshots
Oblivion.GUI/ WPF MVVM application
```
## 许可证
[MIT](LICENSE) © Oblivion 贡献者
标签:.NET 8, PE文件解析, SNI设置, Wayback Machine, Windows桌面应用, 云安全监控, 云资产清单, 反汇编, 逆向工程, 静态分析