Maat:让符号执行变得简单 - 跨架构多功能符号执行框架

Trail of Bits发布Maat符号执行框架,支持跨架构分析,提供动态符号执行、污点分析、二进制插桩等功能。基于Ghidra中间语言p-code,兼具C++高性能和Python易用性,实测每秒可执行10-30万条指令。

Maat:让符号执行变得简单

我们发布了Maat——一个跨架构、多用途且用户友好的符号执行框架。它提供动态符号执行(DSE)、污点分析、二进制插桩、环境模拟和约束求解等核心功能。基于Ghidra的中间表示语言p-code,Maat兼具C++高性能API和Python便捷接口,既适合安全专家也方便初学者入门。

用户友好的灵活API

  • 提供C++底层API和Python绑定
  • 调试器式交互:支持启动/暂停/回滚执行过程
  • 支持通过回调函数插桩目标代码(寄存器/内存访问等事件触发)
  • 可定制符号数据处理策略(符号指针处理、状态约束保存等)

丰富的架构支持

  • 基于Ghidra的sleigh库实现跨架构支持
  • 当前已验证X86/X64架构
  • 未来计划支持Java/Dalvik/Ethereum等虚拟机字节码
  • 无需安装Ghidra即可使用独立版sleigh

性能优化设计

  • 纯C++核心实现
  • 实测性能:主流笔记本每秒执行10-30万条指令(2.3GHz i7/32GB RAM)
  • 未来将添加运行时瓶颈诊断功能

快速开始

  1. 安装:python3 -m pip install pymaat
  2. 查看教程系列
  3. 访问GitHub仓库获取源码和API文档
  4. 通过GitHub讨论区提交反馈
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计