25 Commits
Author SHA1 Message Date
pancake 05c0616b37 Add r2flutter.str options to configure string parsing limits 2026-10-01 17:41:24 +02:00
pancake 14c1847177 Probe Snapshot Layouts for Unknown Hashes 2026-09-01 16:18:24 +02:00
pancake edd90ba5c7 Retain Snapshot Object Value Graph 2026-09-01 15:36:07 +02:00
pancake d387c0b15b Harden unknown-hash handling and report version provenance
- Replaces the hardcoded 'v3.9.2 defaults' fallback
- Fix load_layout_from_json to use that profile on the -f/-A decode path for
  unknown hashes, instead of a degenerate zeroed layout (cws=0/alignment=0);
- Adds a version_source field to -H, guessed layout is never exact match now
2026-08-11 11:29:32 +02:00
pancake 48736a2a89 Properly set anal.roregs for x27 2026-07-07 16:15:27 +02:00
pancake 5cf313c681 Refactor version metadata: single offsets.json, remove CID fields from DartVerLayout
- Consolidate all version metadata into offsets.json as the single source
  of truth (hashes, version profiles, offset arrays)
- Remove CID fields (cid_class, cid_function, cid_code, cid_string, ...)
  from DartVerLayout struct — all CID lookups now go through dart_cid.c's
  cid_tables[] via dart_cid_get()
- Remove CID fast-path switch from dart_cid_get(); always use cid_tables[]
- Replace l->cid_* references in dart_pool_parse.c and dart_pool_names.c
  with dart_cid_get(l, DART_CID_*) calls
- Remove CID fallback assignments from dart_pick_layout_by_hash()
- Delete obsolete scripts/derive_offsets.py and scripts/gen_offsets.sh
- Add `make gen` target to regenerate C files from offsets.json
- Update doc/learn.md, doc/support.md, INFO.md, and test expectations
2026-07-03 20:33:44 +02:00
Abhi 78013b15e1 Add support for Dart 3.11.x and 3.12.x snapshot profiles
- Update snapshot hash mapping for Dart 3.11.5, 3.12.0, and 3.12.1.
- Add CID and layout profiles for the new versions.
- Document that snapshot hashes are shared across patch-release groups.
- Update documentation and test expectations.
2026-06-29 19:13:54 +05:30
pancake ae901bb0ee Object pool pointer parser 2026-06-08 16:59:37 +02:00
pancake f16826e33d Initial implementation for an SBOM 2026-06-08 13:47:13 +02:00
pancake 6523120c60 Strings combines with xrefs when -x is used 2026-06-04 16:31:51 +02:00
pancake 7fc57d0dfe Add -zz for fuzzy string carving, use -z for basic objpool strings 2026-06-04 15:13:42 +02:00
pancake f5ce8ccab1 Decode ObjectPool TaggedObject entries in -HHH 2026-06-04 14:44:34 +02:00
pancake d00af03d32 Implement r2flutter-p to show the PP value 2026-06-04 14:22:59 +02:00
pancake 1a9ee07411 Add -HHH to walk into the cluster parsing 2026-06-04 12:43:54 +02:00
pancake 5fbcf660a1 Implement extended -HH snapshot cluster parser 2026-06-04 12:19:39 +02:00
pancake 7b3ea2242c Sync -A flags from plugin to cli 2026-06-04 11:26:03 +02:00
pancake 11afb54da4 Use -m instead of -o for the obfuscation map file 2026-06-04 11:19:32 +02:00
pancake a9b9917697 The a/F/A are now -A, -AA and -AAA 2026-06-02 18:31:52 +02:00
pancake 5b5ffe2031 More test fixes and better flag behaviour 2026-06-02 17:32:55 +02:00
pancake 7590a4d829 Treat the -q as modifier too 2026-06-02 12:49:17 +02:00
pancake 4eb359d9c9 Fix -j and -r and output modifers in the cli and the plugin 2026-06-02 12:37:32 +02:00
pancake 5e9fd8f0ad r2flutter -s is now -z 2026-06-02 11:59:27 +02:00
pancake 24b0a9734e Recover modern Dart class metadata
Decode compressed ObjectHeader cluster fill data to recover Dart classes,
fields, methods, strings, and field offsets from modern AOT snapshots. Export
C-safe r2 type definitions, apply class metadata directly through `r2flutter -C`,
and skip the expensive default PP offset scan.
2026-06-02 11:46:44 +02:00
pancake b69ebf35a4 Add more documentation 2026-06-01 18:02:10 +02:00
pancake b9bfa7faba Update the README 2026-03-08 10:59:49 +01:00