| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
flutterdec is a static Flutter AOT decompiler research tool for Android ARM64 binaries.
It takes an APK (or libapp.so) and emits readable pseudo-Dart plus optional IR/ASM artifacts.
nix run github:caverav/flutterdec -- --help
nix run github:caverav/flutterdec -- info ./sample.apk --jsonFrom this repository checkout:
nix run . -- --helpLinux x64:
curl -fLO https://github.com/caverav/flutterdec/releases/download/v0.1.0-alpha.1/flutterdec-v0.1.0-alpha.1-Linux-X64.tar.gz
tar -xzf flutterdec-v0.1.0-alpha.1-Linux-X64.tar.gz
sudo install -m 0755 flutterdec /usr/local/bin/flutterdec
flutterdec --helpmacOS arm64:
curl -fLO https://github.com/caverav/flutterdec/releases/download/v0.1.0-alpha.1/flutterdec-v0.1.0-alpha.1-macOS-ARM64.tar.gz
tar -xzf flutterdec-v0.1.0-alpha.1-macOS-ARM64.tar.gz
sudo install -m 0755 flutterdec /usr/local/bin/flutterdec
flutterdec --helpOther platforms and future tags:
Install into user Cargo bin (requires Nix with flakes enabled):
nix develop -c cargo install --path crates/flutterdec-cli
~/.cargo/bin/flutterdec --helpRun from source without installing:
nix develop -c cargo run -p flutterdec-cli -- info ./sample.apk --jsonBuild local release binary:
nix develop -c cargo build -p flutterdec-cli --release
./target/release/flutterdec --helpflutterdec info ./sample.apk --jsoninfo now includes detected app package candidates (app_package_counts_top) when adapter metadata is available.
flutterdec adapter install --dart-hash <HASH>flutterdec decompile ./sample.apk -o ./outBy default, decompile focuses app reversing (--function-scope app-unknown) and excludes known Flutter/Dart framework internals.
To include all functions (app + Flutter + Dart/runtime):
flutterdec decompile ./sample.apk -o ./out --function-scope allTo focus only specific Dart packages (repeatable):
flutterdec decompile ./sample.apk -o ./out \
--function-scope app-unknown \
--app-package my_appIf package names are unknown, inspect report.json at function_scope.app_package_counts_top. When --app-package is not provided, capped prioritization also applies manifest-derived package hints (function_scope.priority_package_hints) to favor app-owned code (including normalized variants like localsend_app and localsend when applicable).
flutterdec map-symbols \
--stripped ./libflutter.stripped.so \
--unstripped ./libflutter.unstripped.so \
-o ./out/symbol-map
flutterdec decompile ./sample.apk -o ./out \
--extra-symbol-map-targets ./out/symbol-map/symbol_target_summary.json \
--extra-symbol-elf ./libflutter.unstripped.sodecompile exposes analysis-engine profiles so you can trade detail for speed.
Default profile:
Available profiles:
Example:
flutterdec decompile ./sample.apk -o ./out --analysis-profile lightAdapter backend selection:
Blutter backend environment knobs:
Nix integration:
You can explicitly enable/disable individual engine toggles:
Main outputs under -o <OUT_DIR>:
| Back | FazBrowse Home | New Git URL |