Update the README

This commit is contained in:
pancake committed 2026-02-18 12:44:30 +01:00
1 parent ac289d2143
commit 369e213eb1
5 files changed
+26 -24

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
build/
bin/r2flutter
bin
*.o
*.so
*.dylib
+25 -23
View File
@@ -1,7 +1,7 @@
# r2flutter - Dart/Flutter support for Radare2
<p align="center">
<img width="250px" height="500px" src="r2flutter500.png" />
<img width="250px" height="500px" src="doc/images/r2flutter500.png" />
</p>
This utility integrates with radare2 but does NOT rely on r2 analysis (afl/aflj).
@@ -10,44 +10,46 @@ snapshots/constant pool directly to derive names and addresses.
## Features
- Support iOS and Android Flutter apps
- Derives names/addresses from Dart constant pool (no afl parsing)
- Uses radare2 to locate AOT snapshot symbols within ELF64
- Emits `addNames.r2` and `r2_dart_struct.h`
## Building
This project can be used from the system shell or directly integrated inside radare2:
```bash
make
```
To get the plugin inside your r2 shell do that:
```bash
make user-install
```
## Usage
```bash
./r2flutter [options] <libapp_path_or_dir>
$ bin/r2flutter
Usage: bin/r2flutter [options] <libapp_path_or_dir>
Options:
-h, --help Show help
-V, --version Show version
-v Verbose (stderr info)
-vv More verbose (dump headers)
--no-stubs Do not emit ELF/r2 stub functions
--dump-snapshot-json Print snapshot header as a single JSON line
--dump-it Print instruction table entry addresses to stderr
--quiet Suppress non-essential stdout (only JSON if requested)
--no-dump Do not emit radare2 flags/script to stdout
--dump-fns N Print first N functions (addr name) to stdout
--use-name-pool Assign names from data image strings when unknown
$
```
Options
- `-h`, `--help`: Show help
- `-V`, `--version`: Show version
- `-v` / `-vv`: Increase verbosity on stderr (prints snapshot hash, header info)
- `--no-stubs`: Do not emit ELF/r2 stub functions into the output
- `--dump-snapshot-json`: Print a single-line JSON with snapshot header and clustered header fields
- `--dump-it`: Print InstructionTable indices and resolved addresses to stderr
## Dependencies
- radare2 (with development headers)
- pkg-config
## Architecture
- `main.c` - CLI entry, opens file with radare2
- `dart_app.c` - App model and integration
- `dart_pool_parse.c` - Standalone parser entry (finds snapshot blobs via r2; WIP: decodes clustered snapshot/ObjectPool and emits function entrypoints)
- `dart_dumper.c` - Emits radare2 scripts and pool offset flags (via PP/x27)
## Current Status
This component sources names from the Dart ObjectPool (work-in-progress), mirroring
`blutter`, without using afl or depending on Dart VM.
File renamed without changes.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB