Skip to content

1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 12:26
· 429 commits to main since this release

Address facts & gated actions (new)

Luma now resolves what an address is — executable, a function
start, data, or unmapped — from page protection and the
disassembler, cached per process identity. A single shared
value+menu component per frontend renders pointer values with a
context menu gated by those facts: Copy, Open Disassembly when
executable, Open Memory when mapped, then the hook actions. This
replaces the per-site menus, and extends to the CFG view, where
right-clicking an instruction offers the same gated actions.

  • Resolution is skipped while detached and the cache is invalidated
    when re-attaching to a different process.
  • Facts resolution is kept off the selection path (@ObservationIgnored
    caches), so resolving a value no longer rebuilds tables mid-click.

Thread register view

  • Registers reflow into a multi-column grid in both frontends, with
    selectable values and a narrower thread list to make room.
  • arm64 register order is canonicalized in the snapshot — GPRs, then
    sp/pc/nzcv, then vectors — and shared with the CFG view via
    CpuRegisterLayout.
  • Vector registers are hex-encoded (they're ArrayBuffers, previously
    rendered as [object ArrayBuffer]).

Disassembly & modules

  • Page Up/Down, Home, End, and auto-select of the first instruction
    in the address-insight disassembly, in both frontends.
  • Module pane fills with a centered detached/error message instead of
    collapsing when symbols are unavailable; undefined symbols are
    skipped since they only duplicate the imports list.
  • Hook and insight names derive from the resolved symbol rather than
    module!symbol / module+offset strings, and navigating to a
    function start reuses the existing named insight instead of minting
    a sub_<offset> duplicate.

Tracer & ITrace

  • Tracer errors route to a per-hook loadFailed status surfaced by
    the sidebar indicator and suppressed from the raw event log;
    cleared on the next config apply.
  • ITrace is capped by captures rather than invocations, so raising the
    limit or re-arming resumes capture instead of staying stuck at the
    old count.
  • Trace instructions carry their real address, so callers map lines
    without assuming fixed-width instructions.

GTK frontend

  • Fixed a CFG context-menu crash: the popover anchors to the captured
    toplevel root so it survives the right-clicked widget being rebuilt,
    and is built from a plain popover and box so it sizes to its
    contents.

Build & dependencies

  • Agent regenerates reliably on macOS's Make 3.81 (the grouped-target
    &: syntax it predates ran the bundle recipe twice).
  • frida-swift / frida-core bumped; gir2swift and SwiftHarfBuzz bumped
    for the GTK build.