Star on GitHubStar1.1k stars

Tool

AOTopsy

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.

Targets
App · Binary
Category
Android tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • 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.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · BroNils/aotopsy · Revision 01011df
  2. go.mod GitHub · BroNils/aotopsy · Revision 01011df
  3. LICENSE GitHub · BroNils/aotopsy · Revision 01011df
  4. SECURITY.md GitHub · BroNils/aotopsy · Revision 01011df

More in Apps

All 174 entries in Apps

↑↓ move↵ open⌘↵ new tab