Skip to content

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 02 Sep 02:56
· 67 commits to main since this release
v0.1.2
e39723b

Highlights

  • Per-target struct headers — DartThread from a version × architecture layout table, DartObjectPool generated from the analyzed binary's own object pool
  • Six new text inventories — strings, libs, classes, functions, arrays, maps — grouped under text/
  • Cleaner CLI — absolute output path, internal diagnostics hidden by default, version string follows the release tag

What's changed

Exports

  • r2_script/r2_dart_struct.h and ida_script/ida_dart_struct.h are now generated per target instead of a fixed blutter template:
    • DartThread comes from a 24-version × arm64/x64 layout table (profiles/struct/, compiled from the Dart VM);
    • DartObjectPool is built from the target's own object-pool entries (offset = 0x10 + 8·i, matching pp.txt).
  • Dropped the blutter MIT header from generated struct files — they are now first-party output, not a vendored template.
  • Added six text dumps: text/strings.txt, text/libs.txt, text/classes.txt, text/functions.txt, text/arrays.txt, text/maps.txt; pp.txt / objs.txt also move under text/.

CLI

  • Prints the absolute output directory (not the relative path as typed).
  • Hides VM/ISO header stats, string/class/function counts and the instruction-table summary by default — re-enable with DART_AOT_VERBOSE=1.
  • Removed the duplicated output path from the final done line.
  • --version / help show a clean vX.Y.Z (follows the CI release tag, no -N-gHASH dev suffix); help now lists the full output set and the supported range/architecture (Dart 2.7–3.14β; Mach-O/ELF/PE × x64/arm64).

Docs / metadata

  • Rewrote README (English/Chinese) in a tighter style and documented the new outputs.
  • .gitattributes marks profiles/sdk/ and profiles/struct/ vendored so GitHub reports Rust (was JSON/C header).
  • .gitignore excludes the local-only struct field reference tables (profiles/struct/*/*.json).

Install

cargo install dae-rs                                  # crates.io
brew install ejfkdev/tap/dae                          # macOS (Homebrew tap)

Or download the binary for your platform below (Windows/macOS/Linux × x64/arm64; x64 builds are UPX-compressed).