在 GitHub 上加星Star2.4k 个星标

工具

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

复制为 Markdown查看 JSON引用

使用条件与局限

  • 最新 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

关于此条目

说明已依据一手来源复核。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · lifting-bits/anvill · 修订 9948d26
  2. bin/Decompile/Main.cpp GitHub · lifting-bits/anvill · 修订 9948d26
  3. data_specifications/specification.proto GitHub · lifting-bits/anvill · 修订 9948d26
  4. docs/SpecificationFormat.md GitHub · lifting-bits/anvill · 修订 9948d26
  5. lib/Passes GitHub · lifting-bits/anvill · 修订 9948d26
  6. lib/Arch GitHub · lifting-bits/anvill · 修订 9948d26
  7. python/anvill GitHub · lifting-bits/anvill · 修订 9948d26
  8. CMakeLists.txt GitHub · lifting-bits/anvill · 修订 9948d26
  9. Dockerfile GitHub · lifting-bits/anvill · 修订 9948d26
  10. .github/workflows/build.yml GitHub · lifting-bits/anvill · 修订 9948d26
  11. ci/install_binja.sh GitHub · lifting-bits/anvill · 修订 9948d26
  12. LICENSE GitHub · lifting-bits/anvill · 修订 9948d26
  13. https://github.com/lifting-bits/anvill/releases/tag/v0.1.39
  14. https://github.com/lifting-bits/anvill/tree/8662cdcca6e63ea10322928a89a0168a6a4270e9
  15. README.md GitHub · lifting-bits/rellic · 修订 370abaa

同分区更多条目:原生二进制

原生二进制分区全部 502 项资源

↑↓ 移动↵ 打开⌘↵ 新标签页