# FLARE IDA Pro 实用脚本合集

> Mandiant FLARE 团队已归档的 IDAPython 插件与脚本合集，用于在 IDA Pro 中分析恶意软件和原生代码。它可在代码中搜索 shellcode 使用的预计算 API 名称哈希，恢复在栈上拼接的字符串（静态分析，或在 ironstrings 中借助 flare-emu 模拟执行），为结构体字段和间接调用应用函数类型，用 MSDN 中的函数、参数和常量信息注释导入函数，并通过 idb2pat 从 IDB 中的函数生成可用于制作 FLIRT 签名的模式文件。其他脚本可追踪字符串解码函数等调用的静态参数，在 Mach-O 文件中把 Objective-C 选择器引用关联到其实现，还能为常见 Windows API 导入函数植入简易实现，使解码或解包代码可在 IDA 的 Bochs 模拟模式下运行。

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

## 使用条件与局限

- 仓库已归档、只读，没有发布版本或标签；所审阅的 master 分支提交（2024-10-29）是最后一次提交。脚本不经打包：README 说明需将 plugins/ 复制到 IDA 的 plugins 文件夹，将 python/ 复制到 IDA 的 python 文件夹或加入 PYTHONPATH；annotate_IDB_MSDN.py、ironstrings.py 和 code_grafter.py 等脚本则通过 File → Script file 运行。
- 需要带 IDAPython 的 IDA Pro；README 给出的是 Windows 的 %PROGRAMFILES% 路径，未注明支持的 IDA 版本。代码横跨多代 IDA：apply_callee_type 针对 IDA 7.6 SP1 做过修复，idb2pat 已移植到 Python 3，而 stackstrings、argtracker 和 decompiler_scripts 仍使用 Python 2 语法，StackStrings 插件也提示因依赖 vivisect 只能在 Python 2 下运行。带对话框的工具导入 PyQt5；ironstrings、objc2_analyzer 和 revil_string_decrypt 需要 flare-emu 与 Unicorn，decompiler_scripts 需要 Hex-Rays 反编译器，code_grafter 则面向 IDA 的 Bochs IDB 模拟模式。
- 样本和 IDB 由分析者自备。仓库附带 sc_hashes.db，这是约 50 MB 的 SQLite 数据库，保存 Microsoft DLL 导出名称的预计算哈希；make_sc_hash_db.py 可根据用户指定的 DLL 目录重新生成。MSDN 注释工具需要一个仓库未提供的 MSDN_data 目录；MSDN_crawler 脚本使用 Python 2.7，从解压后的 MSDN 文档副本和 IDA 的 tilib 生成该目录。
- 仓库没有测试或 CI。各工具的行为由 README、各工具的说明文件以及所链接的 FireEye 和 Mandiant 博客文章记录。
- 仓库整体采用 Apache-2.0，而 msdn_crawler.py 是基于 zynamics msdn-crawler 的衍生作品，采用 GPL-2.0-or-later。IDA Pro、Hex-Rays 反编译器以及 Microsoft DLL 和文档仍受各自条款约束。

## 一手来源

1. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/README.md>
2. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/python/flare/ironstrings/README.md>
3. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/code_grafter/README.md>
4. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/shellcode_hashes/README.md>
5. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/plugins/stackstrings_plugin.py>
6. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/python/flare/argtracker.py>
7. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/python/flare/annotate_IDB_MSDN.py>
8. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/MSDN_crawler/msdn_crawler.py>
9. <https://github.com/mandiant/flare-ida/blob/fc667de6db279c6f8ec8bcc2f3eedff348db450f/LICENSE>
10. <https://github.com/mandiant/flare-ida/commit/14c771f456fd3c1fcd3fb7d681db92279a0e63d7>
11. <https://github.com/mandiant/flare-ida/commit/c9a39c4328fc39004d18e80b750a720fbe56af7d>

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

- [Binlex 二进制特征词法框架](https://awesomerea.org/zh/resources/binlex/index.md) · 工具
- [Driver Buddy Reloaded Windows 内核驱动分析插件](https://awesomerea.org/zh/resources/driver-buddy-reloaded/index.md) · 工具
- [FA（Firmware Analysis）符号定位自动化工具](https://awesomerea.org/zh/resources/fa-firmware-analysis/index.md) · 工具
- [pyinstxtractor-ng 新一代 PyInstaller 程序提取工具](https://awesomerea.org/zh/resources/pyinstxtractor-ng/index.md) · 工具
- [CoBRA 混合布尔-算术表达式化简器](https://awesomerea.org/zh/resources/cobra-mba-simplifier/index.md) · 工具
- [ollvm-unflattener OLLVM 控制流平坦化去混淆工具](https://awesomerea.org/zh/resources/ollvm-unflattener/index.md) · 工具

## 关于此条目

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