AdityaJadhav24/HexForge
GitHub: AdityaJadhav24/HexForge
HexForge 是一个用 Go 编写的实验性 EVM 字节码分析与逆向工程框架,旨在探索智能合约在 Solidity 源码层之下的静态分析、控制流重构与漏洞检测技术。
Stars: 1 | Forks: 0
# HexForge
### 实验性 EVM 字节码分析与逆向工程框架
*探索智能合约分析工具在 Solidity 层之下的工作原理。*



## 概述
HexForge 是一个用 Go 编写的、以研究为导向的 EVM 分析框架。
HexForge 不分析 Solidity 源代码,而是侧重于通过以下方式直接从已部署的字节码中理解智能合约:
* EVM 反汇编
* CFG 重构
* 栈模拟
* 基于 IR / SSA 的表示
* 污点与数据流分析
* 漏洞检测流水线
该项目主要作为一个学习和实验平台,用于探索 EVM 内部机制、静态分析、逆向工程和安全工具架构。
## 快速开始
### 方法 1:全局安装(推荐)
使用 Go 全局安装 HexForge,以便在系统中的任何位置使用它:
```
go install github.com/AdityaJadhav24/hexforge/cmd/hexforge@latest
```
安装完成后,你可以直接使用该工具:
```
# 反汇编 bytecode
hexforge disasm test.bin
# 运行一切
hexforge all test.bin
```
### 方法 2:从源码运行
或者,你可以克隆仓库并直接运行它,无需安装:
```
git clone https://github.com/AdityaJadhav24/hexforge.git
cd hexforge
# 反汇编 bytecode
go run ./cmd/hexforge disasm test.bin
# 运行一切
go run ./cmd/hexforge all test.bin
```
## 命令
| 命令 | 描述 |
| ----------- | -------------------------------- |
| `disasm` | 反汇编 EVM 字节码 |
| `scan` | 运行漏洞检测器 |
| `analyze` | 执行语义分析 |
| `cfg` | 生成控制流图 (CFG) |
| `ir` | 生成 IR / SSA 表示 |
| `selectors` | 提取函数选择器 |
| `all` | 执行所有分析模块 |
### 示例
```
hexforge disasm test.bin
hexforge scan test.bin --json
hexforge analyze test.bin
hexforge cfg test.bin --dot
hexforge ir test.bin --ssa --defuse
hexforge all test.bin -o output/
```
## 架构
```
Raw Bytecode
↓
Disassembler
↓
Basic Blocks
↓
CFG
↓
IR Layer
↓
Analysis Passes
↓
Detectors
↓
Reports
```
## 项目目标
### 主要目标
* 理解 EVM 字节码语义
* 探索逆向工程技术
* 构建模块化分析基础设施
* 研究 CFG 恢复与栈分析
* 试验基于 SSA 的模型
* 学习污点/数据流分析
### 非目标
* 生产级别的审计
* 保证漏洞检测
* 完整的符号执行
* 替代成熟的分析器
## 仓库结构
```
cmd/ CLI entrypoints
analysis/ Analysis orchestration
cfg/ Control flow recovery
detectors/ Vulnerability detectors
disasm/ EVM disassembly
ir/ Intermediate representations
taint/ Dataflow experiments
reporting/ Reporting systems
utils/ Shared utilities
```
## 重要声明
## 贡献
欢迎提供想法、讨论、Bug 报告以及教育性质的贡献。
## 许可证
MIT 许可证标签:DoH影响, EVTX分析, Go, Ruby工具, 云安全监控, 云资产清单, 区块链安全, 文档结构分析, 日志审计, 智能合约, 逆向工程, 静态分析