# Manticore 符号执行工具

> Trail of Bits 开发、现已归档的符号执行工具，可分析 x86、x86-64、AArch64 和 ARMv7 上的 Linux ELF 二进制、以 EVM 字节码表示的以太坊智能合约以及 WebAssembly 模块。它以符号输入运行程序，探索可到达的各个状态，生成能到达指定状态的具体输入，并检测崩溃等错误情形，约束由外部的 Yices、Z3 或 CVC4 求解器求解。manticore 命令行工具把生成的测试用例写入 mcore_ 工作目录，Python API 则支持指令钩子、事件回调和自定义初始状态；manticore-verifier 用于检查以合约自身语言编写的属性。

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

## 使用条件与局限

- 已归档且不再维护：README 声明项目已不再由内部开发和维护，GitHub 也将仓库标为已归档。所审阅的 master 提交日期为 2026-06-24，只改动了这一状态；manticore/ 目录下的最后一次改动在 2022-08-07。最新版本为 GitHub 与 PyPI 上的 0.3.7（2022-02-17），PyPI 上的每日 0.3.8.dev 构建止于 2024-02-27。
- 需要 Python 3.7 或更高版本。pip install manticore 涵盖 EVM 与 WASM 分析，manticore[native] 还会安装分析原生二进制所需、版本固定的 capstone 5.0.0rc2 和 unicorn 2.x；另提供 trailofbits/manticore Docker 镜像。README 将 GitHub Actions 提供的最新 Ubuntu LTS 列为正式支持平台，macOS 上对 EVM 与 WASM 仅为实验性支持，且不支持原生二进制，并建议调大栈空间限制；所审提交的 CI 仍在 ubuntu-20.04 上使用 Python 3.7。
- 输入为使用者自己的 ELF 二进制、Solidity 或 Vyper 源码或 EVM 字节码，或 WASM 模块。合约分析需要 PATH 中有 solc，并通过 crytic-compile 编译；README 称 EVM Istanbul 语义尚未完整实现，部分操作码可能不受支持。用命令行分析整个程序容易出现状态爆炸，README 建议通过 API 定制初始状态来加以限制。
- CI 在下载 Yices 2.6.2 和 solc 0.4.24 后运行 ethereum、native、WASM、examples 等测试套件。tests/native/binaries 与 examples/linux/binaries 中存放面向 amd64 和 ARMv7 的小型预编译 Linux 测试程序，部分附有 C 源码；包括 CTF 题目在内的更大示例位于独立的 manticore-examples 仓库，server/ 目录则是为 Manticore UI 提供的、未发布的 gRPC 封装。
- 采用 AGPL-3.0 许可；README 称可联系 Trail of Bits 申请例外授权。ASE 2019 论文（arXiv 1907.03890）介绍了该工具。

## 一手来源

1. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/README.md>
2. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/README.md#L225-L236>
3. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/setup.py>
4. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/.github/workflows/ci.yml>
5. <https://github.com/trailofbits/manticore/tree/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/tests/native/binaries>
6. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/server/README.md>
7. <https://github.com/trailofbits/manticore/blob/cdf6c4b49603cc1d70a09cabe74e0f786df1e13f/LICENSE>
8. <https://github.com/trailofbits/manticore/releases/tag/0.3.7>
9. <https://pypi.org/project/manticore/0.3.7/>
10. <https://arxiv.org/abs/1907.03890>

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

- [Ghidra Ninja Ghidra 脚本合集](https://awesomerea.org/zh/resources/ghidra-ninja-scripts/index.md) · 工具
- [FindCrypt Ghidra 版密码常量识别脚本](https://awesomerea.org/zh/resources/findcrypt-ghidra/index.md) · 工具
- [Binary Refinery 二进制数据转换工具集](https://awesomerea.org/zh/resources/binary-refinery/index.md) · 工具
- [AngryGhidra Ghidra 符号执行插件](https://awesomerea.org/zh/resources/angryghidra/index.md) · 工具
- [fpicker Frida 插桩与覆盖率采集套件](https://awesomerea.org/zh/resources/fpicker/index.md) · 工具
- [RetroWrite 静态二进制改写框架](https://awesomerea.org/zh/resources/retrowrite/index.md) · 工具

## 关于此条目

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