sjkim1127/Fission
GitHub: sjkim1127/Fission
基于 Rust 的逆向工程与反编译工作区,致力于从二进制文件中实现项目级别的软件结构、行为和意图复原。
Stars: 1 | Forks: 0
# Fission

[](https://github.com/sjkim1127/Fission/actions/workflows/ci.yml)
[](https://www.rust-lang.org/)
[](https://www.gnu.org/licenses/agpl-3.0.html)
Rust 逆向工程与反编译工作区,专注于**静态分析**、**p-code 驱动的重构**以及**桌面分析工作流**,其长期目标是构建一个集静态、动态和网络分析于一体的统一平台。
本仓库仍是一个**早期阶段**且**不成熟的公开代码库**。方向是明确的,核心引擎进展迅速,但项目仍在大力开发中,部分仓库内容尚显粗糙,面向公众的文档仍在整理中。
Fission 正逐步形成简洁的架构:
- **Ghidra 作为提升服务 (lift service)**
- **Rust 作为反编译器的核心大脑**
- **CLI 和 Tauri 作为基于同一核心的产品界面**
其长期方向超越了单一功能的伪代码。Fission 旨在实现**项目级别的软件复原**:从编译产物中恢复结构、行为和意图,同时向统一平台发展,结合静态、动态和网络分析,将传统上分散的逆向工程工具的优势吸收到一个工作流中。AI 旨在作为与工具深度耦合的工作流层置于该技术栈之上。
本仓库目前包含:
- 位于 [`ghidra_decompiler`](./ghidra_decompiler) 和 [`crates/fission-ffi`](./crates/fission-ffi) 的原生 Ghidra 支持的反编译器桥接
- 位于 [`crates`](./crates) 的 Rust 分析/反编译技术栈
- 位于 [`crates/fission-pcode/src/nir`](./crates/fission-pcode/src/nir) 的 Rust 自有的预览版反编译核心
- 位于 [`crates/fission-cli`](./crates/fission-cli) 的可构建 CLI
- 位于 [`crates/fission-tauri`](./crates/fission-tauri) 的 Tauri 桌面前端
当前引擎状态:
- `legacy`:原生 Ghidra 反编译 + Rust 后处理,目前仍是稳定路径
- `mlil-preview`:Ghidra p-code -> Rust NIR/HIR -> 结构化 -> 打印器,即前瞻架构路径
预览版目前支持真实的 PE x64 工作、选定样本上的引导级 PE x86 覆盖、栈槽恢复、多块控制流重构、短路折叠 以及 Rust 自有的伪代码打印。它仍处于实验阶段,该仓库仍应被视为一个不断演进的基础代码库,而非成熟的终端用户产品。
许可证:AGPL-3.0-or-later。贡献需根据 [`CLA.md`](./CLA.md) 中的贡献者许可协议接受。
## Fission 存在的原因
Fission 源于一个非常个人的逆向工程问题。多年前,我沉迷于一款名为 Everplanet 的 Nexon MMORPG。服务关闭后,我开始寻找恢复它的方法。那次探索让我在没有任何严肃编程背景之前就接触了逆向工程。
我屡战屡败。游戏有保护,引擎不熟悉,我尝试的每一种方法——从脱壳和静态分析到后来的 AI 辅助工作流——最终都碰壁了。Fission 诞生于那种挫败感:不是想构建另一个反编译器前端,而是渴望构建一个工具,帮助恢复程序的行为方式、它试图做什么,以及它的各个部分如何重新组合在一起。
这就是这里“项目复原”的含义。Fission 并不试图逐位重建确切的原始源代码。它试图恢复一个可用的等价物:原始软件的结构、行为、意图和工作流,即使最终重构的项目在文本上与最初编写的内容不完全相同。
## 截图
主桌面工作区:

反编译视图:

## 当前可用功能
如果您今天正在评估 Fission,最准确的简短版本是:
- 仓库是真实的、可构建的,且处于活跃开发中
- CLI 和分析 crates 是工作区中最成熟的部分
- Tauri 桌面应用是真实的,并已接入同一引擎技术栈
- `legacy` 仍是严肃用途的稳定默认路径
- `mlil-preview` 是前瞻架构路径,在已覆盖的函数上已具备实用价值
- PE x64 目前拥有最强的预览覆盖率
- PE x86 预览版已存在,但覆盖率仍然有限且依赖种子驱动
- 更广泛的动态分析、网络分析和 AI 工作流层属于长期方向的一部分,而非当前已完全实现的状态
## 快速开始
首先构建原生反编译器,然后构建 CLI:
```
git clone https://github.com/sjkim1127/Fission.git
cd Fission
cd ghidra_decompiler
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cd ..
cargo build --release --bin fission_cli
```
基本 CLI 用法:
```
# Binary 信息
./target/release/fission_cli --info
# 一次性反编译
./target/release/fission_cli --decomp
# 交互式 REPL
./target/release/fission_cli
```
有关详细的构建步骤,请参阅 [`docs/build/BUILD.md`](./docs/build/BUILD.md)。
有关 CLI 示例,请参阅 [`docs/cli/CLI_ONE_SHOT_MODE.md`](./docs/cli/CLI_ONE_SHOT_MODE.md)。
## 引擎模式
| 引擎 | 当前角色 | 备注 |
|---|---|---|
| `legacy` | 稳定默认 | 原生 Ghidra 反编译配合 Rust 端清理和增强 |
| `mlil-preview` | 前瞻架构路径 | Ghidra p-code 提升到 Rust 自有的 NIR/HIR,结构化、规范化和打印 |
实际上:
- 当您想要目前最安全的路径时,请使用 `legacy`
- 当评估未来 Rust 自有反编译器方向时,请使用 `mlil-preview`
- 预期这两条路径在类型呈现、可读性和大函数覆盖面上会有所不同
## 首先看哪里
如果您是第一次接触本仓库,请从这里开始:
1. [`docs/architecture/ARCHITECTURE.md`](./docs/architecture/ARCHITECTURE.md)
架构的权威来源。
2. [`docs/ROADMAP.md`](./docs/ROADMAP.md)
当前方向和优先领域。
3. [`docs/build/BUILD.md`](./docs/build/BUILD.md)
如何构建原生核心和 Rust 工作区。
4. [`docs/cli/CLI_ONE_SHOT_MODE.md`](./docs/cli/CLI_ONE_SHOT_MODE.md)
实用 CLI 用法。
5. [`docs/changelog/CHANGELOG.md`](./docs/changelog/CHANGELOG.md)
近期技术里程碑。
## 社区
- Discord: [Fission community server](https://discord.gg/dgzqGwBpcE)
- LinkedIn: [Sung Joo Kim](https://www.linkedin.com/in/sung-joo-kim-718a93303/)
## 项目愿景
Fission 并不想成为 Ghidra 的一个薄 UI 层,也不只是另一个反编译器前端。
长期目标是**项目级复原**:不是逐位重建确切的原始源代码,而是恢复对程序结构、功能及其试图实现的系统类型的可用理解。
这一长期方向也意味着将 Fission 视作不仅仅是一个反编译器。该项目正致力于打造一个集成式逆向工程平台,能够结合**静态分析**、**动态分析**和**面向网络的分析**,同时将通常分散割裂的工具中最强大的部分吸收到单一工作流中。
这意味着超越诸如“这个函数做什么?”之类的问题,转向:
- 应用程序作为一个整体是如何组织的
- 它向用户暴露了哪些行为和工作流
- 二进制文件内部存在哪些领域概念、协议和状态机
- 运行时行为和网络行为如何回溯到该静态结构
- 如何将这些重构成一个有意义的项目
当前架构正趋向于:
- Ghidra/原生 C++ 作为提升、CFG 和硬故障遏制后端
- Fission 自有的 Rust IR 作为高级控制流、数据抽象、类型呈现和伪代码清理的发生地
- CLI/Tauri 作为基于同一分析核心的产品界面
- AI 作为未来的工作流层,与反编译、分析产物和项目级上下文紧密集成,而非作为旁边的通用聊天机器人
实际上:
- `legacy` 引擎仍是稳定的默认路径
- `mlil-preview` 引擎是前瞻架构路径
- [`crates/fission-pcode/src/nir`](./crates/fission-pcode/src/nir) 下的 `nir` 代码不是字符串后处理器;它是一个独立反编译器核心的开端
## 当前快照
截至 2026 年 3 月 14 日,仓库有两条真实的反编译路径:
### 1. `legacy`
这是成熟路径:
- 原生 Ghidra 反编译
- Fission 后处理和清理
- 目前最广的类型表面覆盖
- 当前的回归守卫和稳定默认
### 2. `mlil-preview`
这是 Fission 自有的实验路径:
- 原生 Ghidra p-code 提取
- Rust 端 NIR/HIR 重构
- Rust 端 CFG 结构化
- Rust 端规范化和惯用语识别
- Rust 端类型提示呈现
- Rust 端伪代码打印器
此路径现在支持:
- PE x64 直接预览
- 选定种子函数上的引导级 PE x86 直接预览
- 栈槽恢复
- 直线下 lowering
- 多块 `if`、`if/else`、`while` 和 `do-while`
- 规范 `&&` / `||` 的短路折叠
- 类型转换规范化
- `PIECE` / `SUBPIECE` 重组
- 槽/表呈现
- 槽族恢复基础工作
- 仅限预览的伪内部函数,如 `WRITE_BITS`、`FLUSH_BITS` 和 `EMIT_CODE`
它仍处于实验阶段。重要的区别在于,它现在是在 CLI 和桌面 UI 中暴露的真实产品路径,而不是孤立的演示路径。
## 已验证的近期里程碑
仓库已通过多个近期的内部里程碑。详细的历史记录位于 [`docs/changelog/CHANGELOG.md`](./docs/changelog/CHANGELOG.md)。简短版本如下:
- v14 恢复了 legacy 路径的基准稳定性,并消除了该轮中最后已知的基准 `type` 失败
- v15 扩大了预览版采用率,并使覆盖集上的预览回退/goto/临时表面指标保持为零
- v16 改进了预览版类型呈现,并使 [`samples/windows/x64/putty.exe`](./samples/windows/x64/putty.exe) `0x140006260` 预览输出直接呈现:
- `LPRECT param_2`
- `RECT local_3c`
- `*param_2 = local_3c;`
- v24 再次恢复了代表性 x64 目标上的直接预览,并在至少一个 x86 种子上引导了直接预览
- v25 将 `nir` 实现重构为真正的模块树以提高可维护性
当前的重要细节:
- 预览覆盖率现在已高到足以成为有意义的工程目标
- 预览输出质量不再仅受控制流结构化阻碍
- 下一个主要前沿是数据抽象和大函数体可读性
## 当前实际状态
如果您今天试图使用 Fission,最准确的状态是:
- CLI 和分析 crates 是仓库中最成熟的部分
- Tauri 前端是真实的、可构建的,并连接到同一引擎技术栈
- `legacy` 仍是严肃用途的稳定默认
- `mlil-preview` 是正在积极投入的架构路径
- `nir` 已经足够大,应被视为一个反编译器子系统,而非便捷辅助工具
当前 `mlil-preview` 优势:
- 许多真实函数上的结构化多块输出
- 积极移除表面临时变量
- 覆盖函数上 goto 使用的减少
- 对打印器输出控制的改进,因为 Rust 路径拥有最终渲染
当前 `mlil-preview` 弱点:
- 更广泛的现实世界类型呈现仍落后于 `legacy`
- 大函数直接预览覆盖率尚未完成
- 内存槽、数组/表访问和状态机风格代码的数据抽象仍在进行中
- 输出可能在机械上正确,但在大函数上视觉上比预期更低级
## 工作区布局
工作区成员在 [`Cargo.toml`](./Cargo.toml) 中声明。重要的 crates 如下:
- [`crates/fission-core`](./crates/fission-core)
- 共享核心类型和实用程序
- [`crates/fission-loader`](./crates/fission-loader)
- PE/ELF/Mach-O 加载
- [`crates/fission-disasm`](./crates/fission-disasm)
- 反汇编支持
- [`crates/fission-pcode`](./crates/fission-pcode)
- p-code 模型、转换、NIR/HIR 预览核心
- [`crates/fission-signatures`](./crates/fission-signatures)
- WinAPI/类型/签名数据
- [`crates/fission-static`](./crates/fission-static)
- 静态分析和反编译编排
- [`crates/fission-dynamic`](./crates/fission-dynamic)
- 调试器/运行时/插件基础设施
- [`crates/fission-analysis`](./crates/fission-analysis)
- 覆盖分散分析 crates 的兼容性外观
- [`crates/fission-ffi`](./crates/fission-ffi)
- 进入原生反编译器的 Rust/C++ 桥接
- [`crates/fission-cli`](./crates/fission-cli)
- CLI 入口点
- [`crates/fission-tauri/src-tauri`](./crates/fission-tauri/src-tauri)
- Tauri 后端
重要的顶层目录:
- [`ghidra_decompiler`](./ghidra_decompiler)
- 原生反编译器源码和树
- [`crates/fission-automation`](./crates/fission-automation)
- 规范 Fission NIR 质量运行器和报告生成器
- [`docs`](./docs)
- 架构、构建、基准、变更日志和分析笔记
- [`vendor`](./vendor)
- 参考代码库和用于学习及比较的第三方树
实际的所有权指南:
- 新的静态/反编译工作属于 [`crates/fission-static`](./crates/fission-static)
- 新的预览版 IR/lowering/规范化/打印器工作属于 [`crates/fission-pcode/src/nir`](./crates/fission-pcode/src/nir)
- 新的运行时/调试/插件工作属于 [`crates/fission-dynamic`](./crates/fission-dynamic)
- `fission-analysis` 应被视为兼容层,而非新功能的默认归宿
## `nir` 模块树
预览版反编译器核心现在拥有真实的目录布局:
- [`crates/fission-pcode/src/nir/mod.rs`](./crates/fission-pcode/src/nir/mod.rs)
- 公共入口点和模块连接
- [`crates/fission-pcode/src/nir/builder`](./crates/fission-pcode/src/nir/builder)
- 从 p-code 降级到 HIR/NIR 构建块
- [`crates/fission-pcode/src/nir/normalize`](./crates/fission-pcode/src/nir/normalize)
- 算术规范化、清理、槽/表、比特流辅助工具
- [`crates/fission-pcode/src/nir/structuring`](./crates/fission-pcode/src/nir/structuring)
- 控制流重构
- [`crates/fission-pcode/src/nir/cfg.rs`](./crates/fission-pcode/src/nir/cfg.rs)
- CFG 辅助工具和条件操作
- [`crates/fission-pcode/src/nir/piece.rs`](./crates/fission-pcode/src/nir/piece.rs)
- piece/subpiece 重构支持
- [`crates/fission-pcode/src/nir/printer.rs`](./crates/fission-pcode/src/nir/printer.rs)
- 预览版伪代码打印器
- [`crates/fission-pcode/src/nir/types.rs`](./crates/fission-pcode/src/nir/types.rs)
- IR 类型和错误
- [`crates/fission-pcode/src/nir/tests`](./crates/fission-pcode/src/nir/tests)
- 按功能区域划分的测试套件
这很重要,因为 Fission 不再只是在原生输出周围附加小型辅助工具。代码组织现在反映了实际的子系统边界:
- lowering
- normalization
- structuring
- printing
- testing
## 反编译架构
宏观上看,反编译技术栈如下所示:
1. 加载二进制文件
2. 初始化原生后端和分析上下文
3. 选择引擎
4. 反编译或提升
5. 应用特定引擎的高级重构
6. 渲染伪代码
### `legacy` 路径
`legacy` 路径大致如下:
1. C++ 中的原生 Ghidra 反编译
2. [`crates/fission-static/src/analysis/decomp`](./crates/fission-static/src/analysis/decomp) 中的 Rust 编排
3. 用于类型提升、表达式清理、goto 清理等的后处理遍
4. 最终的 legacy C 风格输出
此路径在广泛的类型恢复和默认稳定性方面仍然是最强的。
### `mlil-preview` 路径
预览路径大致如下:
1. 原生 p-code 提取
2. 通过 [`crates/fission-pcode/src/nir/builder`](./crates/fission-pcode/src/nir/builder) 构建 HIR
3. 通过 [`crates/fission-pcode/src/nir/normalize`](./crates/fission-pcode/src/nir/normalize) 规范化
4. 通过 [`crates/fission-pcode/src/nir/structuring`](./crates/fission-pcode/src/nir/structuring) 结构化
5. 应用预览类型提示
6. 通过 Rust 打印器渲染
重要的设计规则:
- 预览版不是一个 legacy 字符串重写层
- 预览版不会 wholesale 地复用 legacy 后处理
- 预览版拥有自己的 IR、规范化和打印器行为
## 构建先决条件
最低实际要求:
- Rust 1.85+
- CMake 3.16+
- 可用的 C++17 工具链
- 用于 Tauri 前端的 Node.js/npm
平台注意事项:
- Windows:
- `zlib` 预期通过 `vcpkg` 获取
- macOS:
- Tauri 应用需要完整的 Xcode,而不仅仅是 Command Line Tools
- Linux:
- GUI 构建需要常规的 GTK/WebKit/Tauri 依赖项
有关更多详细信息,请参阅 [`docs/build/BUILD.md`](./docs/build/BUILD.md)。
## 构建
### 原生后端 + CLI
```
git clone https://github.com/sjkim1127/Fission.git
cd Fission
cd ghidra_decompiler
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cd ..
cargo build --release --bin fission_cli --features native_decomp
```
### Tauri 桌面应用
```
cd crates/fission-tauri
npm install
npm run tauri dev
```
不启动桌面应用的快速验证:
```
cargo check -p fission-tauri
cd crates/fission-tauri && npm run build
```
## CLI 快速入门
一次性 CLI 位于 [`crates/fission-cli`](./crates/fission-cli)。
常用命令:
```
# Binary 元数据
./target/release/fission_cli -i
# 函数列表
./target/release/fission_cli -l
# 字符串
./target/release/fission_cli --strings 8
# 反编译单个函数
./target/release/fission_cli --decomp 0x140001160
# 反汇编单个地址或整个函数
./target/release/fission_cli --disasm 0x140001160
./target/release/fission_cli --disasm-function 0x140001160
# 批量反编译
./target/release/fission_cli --decomp-all --decomp-limit 20 --json
```
有用的反编译标志:
- `--profile balanced|quality|speed`
- `--engine legacy|mlil-preview|auto`
- `--compiler-id auto|windows|gcc|clang|default`
- `--timeout-ms `
- `--ghidra-compat`
- `--benchmark`
示例:
```
# 稳定路径
./target/release/fission_cli --decomp 0x140001160 --engine legacy
# 强制预览
./target/release/fission_cli --decomp 0x140001160 --engine mlil-preview
# 首先尝试预览,然后回退
./target/release/fission_cli --decomp 0x140001160 --engine auto
```
## 桌面 GUI
当前的桌面 UI 是位于 [`crates/fission-tauri`](./crates/fission-tauri) 的 Tauri 项目。
目前已有功能:
- 函数列表和过滤
- 汇编和反编译视图
- 字符串/导入/导出
- 注释/书签/函数重命名管道
- 反编译器选项对话框
- UI 中的引擎选择器
- 反编译视图中的已用引擎和回退标记
重要策略:
- `legacy` 是稳定的默认
- `mlil-preview` 是实验性的 Fission 自有路径
- `auto` 存在,用于先尝试预览版并安全回退
[`docs/gui/GUI_GUIDE.md`](./docs/gui/GUI_GUIDE.md) 中的旧 GUI 指南记录了较早的基于 egui 的 UI,并非当前 Tauri 前端的权威指南。
## 基准和比较工作流
Fission 使用两种基准风格:
### 1. 规范的通道式质量运行
驱动程序:
- [`crates/fission-automation`](./crates/fission-automation)
目的:
- 基于 sentinel 的 Fission NIR 质量跟踪
- 一次性完成清单/诊断/语料库细化
- 在 `artifacts/fission-automation/` 下生成本地 Markdown/JSON 报告
典型入口点:
- `cargo run -p fission-automation -- nir-check --lane pdb`
- `cargo run -p fission-automation -- nir-check --lane preview`
- `cargo run -p fission-automation -- nir-check --lane regression`
- `cargo run -p fission-automation -- nir-check --lane full`
这种区分很重要:
- `pdb` 告诉您 PDB 检测和摄取是否确实正在呈现行
- `preview` 告诉您预览阶段的块签名是否正在减少
- `regression` 提供紧凑的混合样本稳定性通过
- `full` 在存在本地工件时将 sentinel 集与对齐/高优先级源结合
仓库基准文档:
- [`docs/benchmark/grand_finale_summary.md`](./docs/benchmark/grand_finale_summary.md)
- [`docs/benchmark/grand_finale_summary.json`](./docs/benchmark/grand_finale_summary.json)
## 开发期间使用的代表性二进制文件
项目经常针对混合的合成和真实世界二进制文件集验证更改。
### 真实世界 x64
- [`samples/windows/x64/putty.exe`](./samples/windows/x64/putty.exe)
- WinAPI 类型、GUI 风格代码、中/大函数
- [`samples/windows/x64/everything.exe`](./samples/windows/x64/everything.exe)
- 大函数覆盖、比特流/状态机风格循环、表访问
- [`samples/windows/x64/notepad++.exe`](./samples/windows/x64/notepad++.exe)
- 大型真实世界 GUI 应用程序,风格与 PuTTY 不同
- [`vendor/x64dbg-development/cmake/cmkr.exe`](./vendor/x64dbg-development/cmake/cmkr.exe)
- CLI/中等函数回退和预览稳定性守卫
### 真实世界 x86
- [`samples/windows/x86/7zr.exe`](./samples/windows/x86/7zr.exe)
- x86 引导、拆分寄存器模式、32 位栈/指针假设
### 合成二进制文件
位于 [`samples/windows/x64`](./samples/windows/x64) 下,包括:
- `test_control_flow_*`
- `test_arithmetic_idioms_*`
- `test_structs_classes_*`
- `test_string_memory_*`
- `test_real_world_algorithms_*`
- `test_advanced_patterns_*`
这些用于孤立地验证特定的重构和规范化行为。
## 预览类型呈现策略
预览类型呈现有意保持保守。
当前策略:
- 优先选择安全的别名呈现,而非猜测的字段名
- 在置信度高的地方使用已知签名和已知结构提示
- 不猜测成员名
- 参数优先选择指针别名,如 `LPRECT`
- 当整个对象模式可靠时,局部变量优先选择聚合别名,如 `RECT`
代表性直接预览接受案例:
- [`samples/windows/x64/putty.exe`](./samples/windows/x64/putty.exe) `0x140006260`
- `LPRECT param_2`
- `RECT local_3c`
- `*param_2 = local_3c;`
## 当前工程优先级
当前的预览工作不再受基本启用功能的阻碍。实际路线图现在看起来如下:
1. 恢复更多大函数的直接预览
2. 改进数据抽象
3. 改进大函数体可读性
4. 将 x86 覆盖范围扩大到引导级之外
5. 在预览版成熟时保持 `legacy` 稳定
具体而言,最重要的活跃领域是:
- 大函数覆盖恢复
- 内存槽和数组/表呈现
- 比特流/状态机惯用语识别
- 循环体压缩
- 更广泛的预览类型质量
## 已知限制
目前最重要的限制是:
- `legacy` 仍是唯一应被视为稳定默认的引擎
- `mlil-preview` 的大函数覆盖仍然不完整
- x86 预览版已存在,但属于引导级支持,与 x64 不对等
- 预览版体可读性在大型状态机/表驱动代码上仍落后于期望的最终状态
- 预览版类型呈现超出当前提示集的部分仍比 legacy 狭窄
另请注意:
- 基准工件和本地样本二进制文件通常在开发期间使用,但无意作为规范仓库交付物提交
- 活跃开发期间引用的某些基准/数据路径可能仅限本地或在内部运行期间生成
## 开发说明
仓库正朝着更清晰的所有权边界发展。
编辑前值得了解的近期结构变化:
- `nir` 现已按子系统拆分,而非保留在单个巨大文件中
- 基准工作流现在使用 `fission-automation` 通道作为规范的本地运行器
- 当前开发通常按以下顺序进行:
- 先进行合成测试
- 接着检查代表性真实世界函数
- 最后关闭基于通道的自动化
如果您要在预览路径中添加工作:
- 优先选择 IR/HIR 转换而非字符串重写
- 优先选择保守的正确性而非激进的美化
- 使用合成测试进行精确的惯用语恢复
- 使用 `cargo run -p fission-automation -- nir-check --lane preview` 进行预览端质量检查
- 使用 `cargo run -p fission-automation -- nir-check --lane regression` 进行更广泛的回归关闭
## 关键文档
- [`docs/README.md`](./docs/README.md)
- 文档索引
- [`docs/build/BUILD.md`](./docs/build/BUILD.md)
- 构建说明
- [`docs/architecture/ARCHITECTURE.md`](./docs/architecture/ARCHITECTURE.md)
- 架构说明
- [`docs/changelog/CHANGELOG.md`](./docs/changelog/CHANGELOG.md)
- 变更历史
- [`docs/analysis/PASS_SYSTEM.md`](./docs/analysis/PASS_SYSTEM.md)
- legacy 后处理系统
- [`docs/analysis/POSTPROCESS_MODULES.md`](./docs/analysis/POSTPROCESS_MODULES.md)
- 后处理模块说明
- [`docs/cli/CLI_ONE_SHOT_MODE.md`](./docs/cli/CLI_ONE_SHOT_MODE.md)
- CLI 行为
- [`docs/ROADMAP.md`](./docs/ROADMAP.md)
- 路线图
## 状态
Fission 正处于活跃开发中。
总结当前状态最清晰的方式是:
- `legacy` 稳定且有用
- `mlil-preview` 是真实的且能力日益增强
- `nir` 现在是一个有组织的子系统,而非实验性的代码块
- 项目方向明确:Fission 应随时间推移拥有更多高级反编译器技术栈
标签:Amass, AST重建, Bash脚本, Fission, Ghidra, MITM代理, P-Code, Rust, Tauri, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码重构, 反编译器, 可视化界面, 可配置连接, 恶意代码分析, 情报收集, 桌面应用, 漏洞研究, 程序分析, 网络安全, 网络流量审计, 软件恢复, 逆向工程, 配置文件, 隐私保护, 静态分析