# Flutter 构建识别

> 通过 REA 的纯解析命令行与 MCP 工具，识别 Flutter APK 的 Dart 快照哈希、各 ABI 库摘要与引擎构建来源，再检查单个 ABI 的 AOT 快照段。字符串池输出是对 package 与 SDK URI 的有界字节模式投影，并非反序列化的 Dart 类或恢复的源码。

- 类型：文档
- 目标：应用
- 类别：REA 官方：调查指南
- 关联：REA 官方文档
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/morluto/rea/blob/main/docs/flutter-analysis.md>
- 一手来源：<https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/docs/flutter-analysis.md>
- 目录页面：<https://awesomerea.org/zh/resources/rea-flutter-guide/>
- 记录 JSON：<https://awesomerea.org/resources/rea-flutter-guide/record.json>
- 英文版：[English](https://awesomerea.org/resources/rea-flutter-guide/index.md)

## 使用条件与局限

- 审阅时 main 上为 rea-agents 6.7.0，声明支持 Node ^22.19.0、^24.11.0 或 26 及以上。identify-flutter-build 与 inspect-dart-aot（对应 MCP 的 identify_flutter_build 与 inspect_dart_aot）解析使用者提供的 APK 中的 libapp.so 和 libflutter.so，无需引擎、外部工具、执行或联网查询。输入先复制为分析器独占的只读快照，并有文档列明的上限，例如每个 APK 2 GiB、每个库 256 MiB。
- REA 不做哈希到 SDK 的查询；把快照哈希对应到 Dart 版本需借助外部数据集，例如 reFlutter 维护的数据。目前只有所支持的 Dart 2.14 快照布局中的 FullAOT 类型能得到完整结构覆盖，其他类型会保留为部分覆盖。恢复带类型的类与函数需要针对特定 SDK 的解析器，类名样式的标记也包含偶然匹配。
- 文档中的验证脚本经编译后的命令行与 stdio MCP 运行两个工具，以 Flutter Gallery 2.9.2 发布版 APK 对照固定的期望文件：三个 ABI 上快照哈希一致，并核对引擎标签与 URI 数量；另用普通 aapt2 构建的 APK 检查不误报。指南报告 Gallery 流程与 147 项 Flutter 专项测试在 macOS 14.8.9 x86-64 与 Windows 11 x64 虚拟机中通过。
- 在已合并的 PR #1582 中，一位独立审阅者报告：在合并前的分支版本上，三个 F-Droid 应用 PocketDhamma、Flutter McSweepy 与 cone 的哈希、ELF 段和 package 列表与 readelf／strings 检查一致，非 Flutter 对照应用未被识别为 Flutter；讨论串记录了对所发现问题的修复。这些检查针对构建身份与结构。REA 声明 MIT，所分析的 APK 保留各自许可。

## 一手来源

1. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/docs/flutter-analysis.md>
2. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/scripts/verify-flutter.mjs>
3. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/scripts/fixtures/flutter-gallery-expectations.json>
4. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/README.md>
5. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/package.json>
6. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/LICENSE>
7. <https://github.com/morluto/rea/pull/1582>

## 同分区更多条目：文档与学习资源

- [HarmonyOS 应用包静态清点](https://awesomerea.org/zh/resources/rea-harmony-guide/index.md) · 文档
- [通过 Ghidra 分析 MIPS ELF](https://awesomerea.org/zh/resources/rea-ghidra-mips-guide/index.md) · 文档
- [通过 Ghidra 静态分析 PSP ELF](https://awesomerea.org/zh/resources/rea-ghidra-psp-guide/index.md) · 文档
- [借助 Ghidra 恢复 NativeAOT 元数据](https://awesomerea.org/zh/resources/rea-ghidra-nativeaot-guide/index.md) · 文档
- [REA & AI RE Tools Guide（非官方）：REA 安装、接入与故障排查社区指南](https://awesomerea.org/zh/resources/reaguide-unofficial-rea-guide/index.md) · 学习资源
- [OpenSecurityTraining2](https://awesomerea.org/zh/resources/ost2/index.md) · 学习资源

## 关于此条目

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