工具
Speakeasy Windows 恶意软件仿真框架
Mandiant 的 Windows 恶意软件仿真框架,借助 Unicorn CPU 仿真器,在模拟的 Windows 运行环境(而非完整虚拟机)中运行 PE 可执行文件、DLL、内核驱动和原始 x86/amd64 shellcode。手写的处理程序加上由 win32metadata 和 phnt 生成的签名库,负责模拟 Windows API 调用、进程与线程行为、文件系统、注册表和网络,每次运行都记录为结构化 JSON 报告,其中包含带参数名的 API 事件、释放的文件以及可选的内存快照。它可通过 speakeasy 命令行或作为 Python 库使用,内置的 GDB 桩可让分析者单步调试仿真中的样本。
使用条件与局限
- 审阅时最新版本为 v2.0.0b9,是 2026-10-11 发布的 GitHub 预发布版,指向所审阅的 master 提交,并将报告格式升级为 5.0.0 版。PyPI 上 speakeasy-emulator 的最新稳定版仍是 2022 年的 1.5.11,而 pip 默认跳过预发布版本,因此除非明确指定 2.0 测试版,README 中直接 pip install 的命令会装到 1.5.11。
- 需要 Python 3.10+;依赖包括 Unicorn 2.1.4+、pefile、Capstone 和 pycryptodome,包元数据标注为与操作系统无关。从源码安装需递归克隆 win32json 和 phnt 子模块,并运行两个生成 API 签名库的脚本;Dockerfile 构建 Python 3.13 镜像,样本挂载在 /sandbox。GDB 调试需用 gdb-multiarch 或其他 GDB 连接调试桩,文档提醒该调试桩没有任何身份验证。
- 样本由使用者自行提供。测试使用 tests/bins 下的小型测试可执行文件、DLL、WDM 驱动和一个 shellcode 样本,以及 capa-testfiles 子模块中 Mandiant 的 capa 测试数据,后者提供《Practical Malware Analysis》实验样本;两者都应按恶意软件分析材料处理。
- 局限说明页指出,只有精选的一部分 API 有手写处理程序:仅凭签名仿真的 API 只返回成功值而没有真实副作用,未知导入会终止运行,缺失的文件、注册表项或网络响应可能看起来像反分析行为,因此报告需要分析者自行解读。采用 MIT 许可;win32json、phnt 和 capa-testfiles 子模块适用各自条款。本次未安装或运行任何内容,所审来源未确立与 REA 的关联。
关于此条目
- 类型
- 工具
- 类别
- 调试与动态分析
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · mandiant/speakeasy · 修订 aa9f226
- doc/install.md GitHub · mandiant/speakeasy · 修订 aa9f226
- doc/limitations.md GitHub · mandiant/speakeasy · 修订 aa9f226
- doc/cli-reference.md GitHub · mandiant/speakeasy · 修订 aa9f226
- doc/reporting.md GitHub · mandiant/speakeasy · 修订 aa9f226
- doc/gdb.md GitHub · mandiant/speakeasy · 修订 aa9f226
- pyproject.toml GitHub · mandiant/speakeasy · 修订 aa9f226
- speakeasy/version.py GitHub · mandiant/speakeasy · 修订 aa9f226
- .gitmodules GitHub · mandiant/speakeasy · 修订 aa9f226
- Dockerfile GitHub · mandiant/speakeasy · 修订 aa9f226
- LICENSE.txt GitHub · mandiant/speakeasy · 修订 aa9f226
- tests/bins GitHub · mandiant/speakeasy · 修订 aa9f226
- tests/pma_cases.py GitHub · mandiant/speakeasy · 修订 aa9f226
- https://github.com/mandiant/speakeasy/releases/tag/v2.0.0b9
- https://pypi.org/project/speakeasy-emulator/1.5.11/