工具
McSema 二进制到 LLVM bitcode 提升器
Trail of Bits 开发、现已归档的可执行文件提升器,可将 32 位和 64 位 Linux ELF 与 Windows PE 二进制转换为 LLVM bitcode,用于分析或重新编译。控制流恢复由 mcsema-disass 完成,它依赖 IDA Pro 输出 protobuf 格式的控制流图,随后 mcsema-lift 借助 Remill 库翻译指令;README 列出其支持大部分 x86 与 x86-64 整数、x87、MMX、SSE 和 AVX 指令,以及 AArch64、SPARC32 和 SPARC64 的部分指令。提升得到的 bitcode 可交给 LLVM 优化遍、KLEE 或 libFuzzer 处理,也可重新编译成可运行的程序。
- 目标
- 二进制
- 类别
- 原生分析工具
- 关联
- 基础工具
- 来源复核于
- 星标
- 2.8k
- 最近提交
- 2022-04-26
- 主要语言
- C++
- 许可(GitHub 识别)
- AGPL-3.0
- 状态
- 已归档
GitHub 数据,截至 2026-11-09
使用条件与局限
- 归档仓库为只读。README 支持 LLVM 9–11;v3.0.24 提供面向 Ubuntu 18.04 与 20.04 amd64 的预构建包。
- 控制流恢复需要 IDA Pro 7.5+。实验性 DynInst 前端未受支持。构建需要 CMake 3.14+、带 protobuf 和 clang 绑定的 Python 3.8,以及固定提交的 Remill 和 Anvill。macOS 与 Windows 构建为实验性或未经测试。
- 输入是分析者提供的编译生成 ELF 或 PE 文件。Limitations.md 排除加壳、加密、混淆、自修改代码及原始固件块,并列出异常与浮点限制。
- 仓库包含 Maze 示例、预构建测试控制流图和加密的 Binary Ninja CI 压缩包。
- 许可证为 AGPL-3.0;IDA Pro、Binary Ninja 和 LLVM 保留各自条款。
引用
BibTeX
@misc{mcsema,
title = {{McSema}},
howpublished = {\url{https://github.com/lifting-bits/mcsema}},
url = {https://github.com/lifting-bits/mcsema},
urldate = {2026-10-27},
note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/mcsema/}}
}纯文本
McSema。https://github.com/lifting-bits/mcsema(访问于 2026-10-27)。Awesome REA 条目:https://awesomerea.org/zh/resources/mcsema/
有帮助?在 GitHub 上为 Awesome REA 加星2.4k
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · lifting-bits/mcsema · 修订 2636805
- docs/Limitations.md GitHub · lifting-bits/mcsema · 修订 2636805
- docs/McSemaWalkthrough.md GitHub · lifting-bits/mcsema · 修订 2636805
- docs/CommandLineReference.md GitHub · lifting-bits/mcsema · 修订 2636805
- tests/MakingTests.md GitHub · lifting-bits/mcsema · 修订 2636805
- examples/Maze GitHub · lifting-bits/mcsema · 修订 2636805
- tests/test_suite_generator/generated/prebuilt_cfg GitHub · lifting-bits/mcsema · 修订 2636805
- .github/workflows/vcpkg_ci.yml GitHub · lifting-bits/mcsema · 修订 2636805
- LICENSE GitHub · lifting-bits/mcsema · 修订 2636805
- https://github.com/lifting-bits/mcsema/commit/1ef3ed2cd355f52d7ae28b336bdbc59c5ebad5b9
- https://github.com/lifting-bits/mcsema/releases/tag/v3.0.26
- https://github.com/lifting-bits/mcsema/releases/tag/v3.0.24