工具
Anvill 机器码到 LLVM bitcode 提升器
Trail of Bits 基于 Remill 开发的机器码提升器,目标是生成高质量的 LLVM bitcode,使其接近 Clang 编译语义等价的 C 函数时产生的结果,再交由 Rellic 进一步反编译为 C。其 anvill-decompile-spec 工具读取描述二进制底层 ABI 信息的 Protobuf 规格文件,把其中的函数和全局变量提升为 LLVM IR 或 bitcode;一组 LLVM 遍负责降级 Remill 内建函数,并恢复栈帧、跳转表和 switch 结构。README 称 main 分支读取的规格文件由一个仍在开发、尚未开源的 Ghidra 插件生成,开源的 Binary Ninja 规格生成脚本则保留在 binja-final-version 标签中。
- 目标
- 二进制
- 类别
- 二进制分析库
- 关联
- 基础工具
- 来源复核于
- 星标
- 388
- 最近提交
- 2023-07-05
- 主要语言
- LLVM
- 许可(GitHub 识别)
- AGPL-3.0
GitHub 数据,截至 2026-11-09
使用条件与局限
- 最新 GitHub 发行版为 v0.1.39(2021-02-22);后续标签达到 v0.2.1。固定的 master 提交比该标签多六个提交,最后一次代码改动日期为 2022-12-06。
- Linux 曾在 Ubuntu 20.04 上测试。CMakeLists.txt 要求 CMake 3.19;README 还列出 Clang 12+、Remill、Python 3.9 与 Ghidra。CI 在 Ubuntu 20.04 和 macOS 11 上使用 LLVM 14 与 15 构建。
- anvill-decompile-spec 需要描述函数、全局变量与内存区域的 Protobuf 规格文件。README 建议开源用户使用 binja-final-version 标签;CI 从私有仓库安装 Ghidra 规格生成器。支持的调用约定包括 x86、x86-64、AArch32、AArch64 与 SPARC。
- CI 使用加密的 Binary Ninja 归档及受口令保护的 AMP 挑战二进制进行集成测试。
- 许可证:AGPL-3.0。使用 -DANVILL_ENABLE_TESTS=true 启用单元测试。
引用
BibTeX
@misc{anvill,
title = {{Anvill}},
howpublished = {\url{https://github.com/lifting-bits/anvill}},
url = {https://github.com/lifting-bits/anvill},
urldate = {2026-10-27},
note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/anvill/}}
}纯文本
Anvill。https://github.com/lifting-bits/anvill(访问于 2026-10-27)。Awesome REA 条目:https://awesomerea.org/zh/resources/anvill/
有帮助?在 GitHub 上为 Awesome REA 加星2.4k
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · lifting-bits/anvill · 修订 9948d26
- bin/Decompile/Main.cpp GitHub · lifting-bits/anvill · 修订 9948d26
- data_specifications/specification.proto GitHub · lifting-bits/anvill · 修订 9948d26
- docs/SpecificationFormat.md GitHub · lifting-bits/anvill · 修订 9948d26
- lib/Passes GitHub · lifting-bits/anvill · 修订 9948d26
- lib/Arch GitHub · lifting-bits/anvill · 修订 9948d26
- python/anvill GitHub · lifting-bits/anvill · 修订 9948d26
- CMakeLists.txt GitHub · lifting-bits/anvill · 修订 9948d26
- Dockerfile GitHub · lifting-bits/anvill · 修订 9948d26
- .github/workflows/build.yml GitHub · lifting-bits/anvill · 修订 9948d26
- ci/install_binja.sh GitHub · lifting-bits/anvill · 修订 9948d26
- LICENSE GitHub · lifting-bits/anvill · 修订 9948d26
- https://github.com/lifting-bits/anvill/releases/tag/v0.1.39
- https://github.com/lifting-bits/anvill/tree/8662cdcca6e63ea10322928a89a0168a6a4270e9
- README.md GitHub · lifting-bits/rellic · 修订 370abaa
同分区更多条目:原生二进制
- XRefer 二进制导航插件 · 工具
- dsdump(paradiseduo 封装版)Mach-O 类信息导出工具 · 工具
- Dr. Memory · 工具
- Intel XED · 工具
- Keystone · 工具
- Microsoft Detours · 工具