AkashaCorporation/HexCore-Helix
GitHub: AkashaCorporation/HexCore-Helix
HexCore Helix 是一个基于 MLIR 和 LLVM IR 的现代反编译引擎,专注于生成高质量的伪 C 代码和 Win64 二进制分析。
Stars: 0 | Forks: 0
# HexCore Helix
Helix 是 HexCore 背后的反编译引擎。它接收提升后的 LLVM IR,通过自定义 MLIR 方言进行下层处理,并输出可读的伪 C 代码,同时具备调用约定恢复、栈重构、变量命名和控制流清理功能。
本代码库为公开版本,跟踪真实的引擎开发工作。重点是实际的输出质量:更整洁的伪 C 代码,更好的 Win64 恢复效果,更少的合成临时变量,以及直通 HexCore IDE 的路径。
## Helix 的功能
- 通过 Remill 生成的 LLVM IR 提升机器码
- 将 IR 下层为 Helix 特定的 MLIR 方言
- 恢复栈布局、参数、局部变量和变量意图
- 重构直接调用、虚表调用和递归调用
- 将标志位和比较操作简化为可读的条件表达式
- 在输出前尽可能构建控制流结构
- 通过独立的 `helix_tool` 输出伪 C 代码
## 当前重点
截至 2026 年 3 月,C++23/MLIR 流水线是主要的后端。
- `RemillToHelixLow` 负责 Remill IR 下层和地址跟踪
- `RecoverStackLayout` 重构 Win64 栈参数和局部变量
- `RecoverCallingConvention` 具体化实际的调用参数
- `StructureControlFlow` 尽可能将 CFG 区域转换为结构化流
- `RecoverVariables` 和 `EliminateDeadCode` 减少寄存器噪点
- `PseudoCEmitter` 格式化最终的伪 C 代码并抑制明显的伪影
Rust workspace 仍然是项目的一部分,用于共享类型、传输和面向 IDE 的集成。
## 仓库布局
```
HexCore-Helix/
|- engine/ C++23 decompiler engine, MLIR dialects, CLI, tests
|- crates/ Rust workspace and NAPI bridge
|- schemas/ FlatBuffers schemas
|- signatures/ Optional address/name databases
|- tests/ Real decompilation fixtures and reports
|- ARCHITECTURE.md Architectural overview
|- CHANGELOG.md Release notes
`- roadmap.md Near-term roadmap
```
## 构建
### 前置条件
- Rust stable
- Node.js 22+
- CMake 3.20+
- C++23 工具链
- 与引擎构建兼容的 LLVM/MLIR 18
### 构建引擎
```
cmake -B engine/build -S engine -DCMAKE_BUILD_TYPE=Release
cmake --build engine/build --config Release
```
### 运行 CLI
```
./engine/build/helix_tool.exe tests/remill-7/bone_pos_calc9.ll
```
### 构建并运行测试
```
cmake -B engine/build-tests -S engine -DCMAKE_BUILD_TYPE=Release
cmake --build engine/build-tests --config Release
./engine/build-tests/test/Release/helix_tests.exe
```
对于针对性的回归测试,`Remill7IntegrationTest` 是主要套件,用于确定实际的输出器和恢复改进效果。
## 测试语料库
`tests/` 目录包含用于评估输出质量的提升后 IR 和报告。
- `tests/remill-7/` 包含当前的真实世界回归语料库
- `tests/reports/` 包含基准测试和对比笔记
这些测试用例特意保持小巧且具有针对性。它们的存在是为了让伪 C 代码输出中的回归问题变得显而易见。
## 公开仓库说明
- 生成的反编译输出和调试日志不属于仓库公开范围
- 公开仓库应包含源代码、测试固件、文档和可复现的测试
- 实验性的本地产物应保持忽略状态,除非它们成为稳定的固件
## 文档
- [架构](ARCHITECTURE.md)
- [更新日志](CHANGELOG.md)
- [路线图](roadmap.md)
## 许可证
MIT
标签:Bash脚本, C++23, Helix, HexCore, LLVM IR, MITM代理, MLIR, Remill, Rust, Win64, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码混淆, 伪代码生成, 反编译器, 可视化界面, 恶意代码分析, 控制流还原, 栈帧重构, 编译器基础设施, 网络流量审计, 调用约定恢复, 逆向工程, 配置文件, 静态分析