# capa 可执行文件功能识别工具

> Mandiant FLARE 团队的工具，将 YAML 规则集与从 PE、ELF、.NET 文件或 32/64 位 shellcode 中提取的 API 调用、导入、字符串和常量等特征进行匹配，报告可执行文件具备哪些功能。匹配结果按功能命名空间归类并标注 ATT&CK 和 MBC，详细输出会列出每项匹配所依据的函数或基本块地址及特征，为分析人员指出值得深入研究的代码。它还能读取 CAPE、DRAKVUF 和 VMRay 沙箱报告以利用动态特征，可选用 vivisect、IDA Pro、Ghidra 或 Binary Ninja 进行分析，并提供 IDA 和 Ghidra 的 explorer 插件以及查看 JSON 结果的浏览器界面。

- 类型：工具
- 目标：二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-20
- 原始资源：<https://github.com/mandiant/capa>
- 一手来源：<https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/capa/>
- 记录 JSON：<https://awesomerea.org/resources/capa/record.json>
- 英文版：[English](https://awesomerea.org/resources/capa/index.md)

## 使用条件与局限

- 审阅时的版本为 v10.0.0，发布于 2026-10-16，提供用 PyInstaller 打包、无需安装即可运行的独立构建，涵盖 Linux（x86_64、arm64 及 Python 3.13 版本）、macOS（x86_64 和 arm64）和 Windows；所审阅的 master 分支提交在该标签之后仅同步了规则子模块。安装指南指出 Linux 构建需要 GLIBC 2.26+，macOS 首次运行时须在 Gatekeeper 中批准该程序。flare-capa PyPI 软件包（10.0.0，需 Python 3.10+）不含默认规则和库识别签名，需通过 -r 和 -s 参数指定。
- 输入由使用者提供：PE、ELF 或 .NET 模块、原始 shellcode、CAPE、DRAKVUF 或 VMRay 报告、BinExport2 文件或已保存的 capa 特征文件。IDA Pro explorer 插件需要 IDA 7.4+ 和 Python 3.10+（已测试至 IDA 9.0）；Ghidra 后端和 explorer 脚本需要通过 PyGhidra 启动的 Ghidra 12.0+；Binary Ninja 后端需使用另行安装的 Binary Ninja。
- 局限性文档指出，加壳或混淆的程序、安装程序以及 AutoIt 等打包程序会导致结果有误或不完整，分散在包装函数或子函数中的功能也无法匹配；当规则检测到加壳或安装程序时，capa 会发出警告。匹配结果是基于规则的功能迹象，并非已确认的行为。
- 采用 Apache-2.0 许可，独立的 capa-rules 仓库同样如此。v10.0.0 修复了通过特制 vivisect .viv 工作区文件执行代码的问题，该问题影响 v9.4.0 及更早版本；现在仅在设置 CAPA_LOAD_VIV_WORKSPACE=1 时才会加载已有工作区。递归克隆源码还会拉取测试文件子模块，安装指南警告其中包含大量恶意软件样本。

## 一手来源

1. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/README.md>
2. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/README.md#L153-L160>
3. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/doc/installation.md>
4. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/doc/usage.md>
5. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/doc/limitations.md>
6. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/capa/loader.py#L65-L75>
7. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/capa/ida/plugin/README.md#L97-L110>
8. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/capa/ghidra/README.md>
9. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/pyproject.toml>
10. <https://github.com/mandiant/capa/blob/7a235c46965ea0965c65be3b9ee1e21dca686f3d/LICENSE.txt>
11. <https://github.com/mandiant/capa/releases/tag/v10.0.0>
12. <https://pypi.org/project/flare-capa/10.0.0/>

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

- [RetDec 可重定向机器码反编译器](https://awesomerea.org/zh/resources/retdec/index.md) · 工具
- [REDasm 反汇编器](https://awesomerea.org/zh/resources/redasm/index.md) · 工具
- [Lighthouse 代码覆盖率浏览插件](https://awesomerea.org/zh/resources/lighthouse/index.md) · 工具
- [BinAbsInspector 二进制漏洞静态扫描工具](https://awesomerea.org/zh/resources/binabsinspector/index.md) · 工具
- [VulHunt 社区版漏洞挖掘框架](https://awesomerea.org/zh/resources/vulhunt/index.md) · 工具
- [BinSync 协同逆向插件](https://awesomerea.org/zh/resources/binsync/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
