{
  "added_at": "2026-10-16",
  "additional_evidence_urls": [
    "https://github.com/BroNils/aotopsy/blob/01011df108eaf5a0c1757cf5842115f9fb8b6303/go.mod",
    "https://github.com/BroNils/aotopsy/blob/01011df108eaf5a0c1757cf5842115f9fb8b6303/LICENSE",
    "https://github.com/BroNils/aotopsy/blob/01011df108eaf5a0c1757cf5842115f9fb8b6303/SECURITY.md"
  ],
  "category": "android",
  "description_en": "Statically inspect Flutter/Dart AOT libapp.so files to recover available metadata, class structures, call edges and pseudocode without embedding a Dart VM or compiling a matching SDK. Supports ARM64 and x86_64 analysis paths.",
  "description_zh": "静态检查 Flutter/Dart AOT libapp.so 文件，恢复可用元数据、类结构、调用关系及伪代码，无需嵌入 Dart VM 或编译匹配的 SDK，提供 ARM64 与 x86_64 分析路径。",
  "entry_url": "https://awesomerea.org/resources/aotopsy/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/aotopsy/",
  "evidence_url": "https://github.com/BroNils/aotopsy/blob/01011df108eaf5a0c1757cf5842115f9fb8b6303/README.md",
  "group": "tools",
  "id": "aotopsy",
  "json_url": "https://awesomerea.org/resources/aotopsy/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/aotopsy/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/aotopsy/index.md",
  "name": "AOTopsy",
  "name_zh": "AOTopsy Flutter/Dart 静态分析工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Source builds require Go 1.25.4 according to go.mod (README says 1.25+). Supply a supported libapp.so AOT snapshot; the reviewed README models Dart 2.10–3.13. JIT snapshots are outside scope.",
    "Ghidra/IDA integration is ARM64-only. Most instance-field names and local/captured variable names are removed from release builds; polymorphic dispatch and virtual-call reachability remain limited. Reconstructed Dart output is not guaranteed original or behaviorally equivalent source.",
    "Unbounded --all decompilation can need about 64 GB RAM; use targeted or capped analysis. Accuracy and syntax measurements are author-reported, and the nonredistributable ground-truth corpus tests do not run in public CI.",
    "BSD-3-Clause. AOTopsy credits the original unflutter project and its authors; Dart SDK-derived tables retain their own notices."
  ],
  "requirements_zh": [
    "go.mod 要求从源码构建时使用 Go 1.25.4（README 表述为 1.25+）。需提供受支持的 libapp.so AOT 快照；所审阅 README 建模覆盖 Dart 2.10–3.13，不支持 JIT 快照。",
    "Ghidra／IDA 集成仅支持 ARM64。发布构建会删除大部分实例字段名和局部／捕获变量名，多态分派与虚调用可达性分析仍有限制。重建的 Dart 输出不保证是原始源码或行为等价源码。",
    "不加限制的 --all 反编译可能需要约 64 GB 内存，应使用定向或设有上限的分析。准确率和语法测量由作者报告；不可再分发的基准真值语料测试不会在公共 CI 中运行。",
    "采用 BSD-3-Clause。AOTopsy 保留对原始 unflutter 项目及作者的署名，来自 Dart SDK 的表数据另保留对应声明。"
  ],
  "targets": [
    "app",
    "binary"
  ],
  "url": "https://github.com/BroNils/aotopsy",
  "verification": "source-reviewed",
  "verified_at": "2026-10-16"
}
