Skip to content

v1.1.0 — r2-style terminal UI (dump + tui)

Latest

Choose a tag to compare

@jelasin jelasin released this 02 Nov 02:49

What's Changed

Features

  • idamcp-hub tui <path> — an interactive r2-style terminal UI over the same headless idalib workers. Disassembly/pseudocode pane toggle (p), seek by name or address (g), xrefs (x), follow xref (f), rename (n), comment (m), call graph (G), and an ASCII CFG rendered from get_basic_blocks (b), plus a function sidebar tree and an instance status bar. Built with textual as an optional dependency: pip install "idamcp-hub[tui]" or uvx --from idamcp-hub --extra tui idamcp-hub tui <path>.
  • idamcp-hub dump <path> — non-interactive assembly/pseudocode export in the idalib-dump style: name-regex filter (-f), --asm-only/--pseudo-only, -o FILE output with failure counting. No textual dependency — plain text rendering, CI-friendly.

Design

Both run on the host (uvx) side, never inside a worker: the TUI and dump talk to workers through the normal bridge client and render from the existing tool catalog (disasm, decompile, xrefs_to, list_functions, get_basic_blocks, callgraph, rename_function, set_comment). Workers keep their zero-third-party-dependency stdlib bridge; multi-instance routing reuses the same stateless instance_id rules as MCP calls.

Tests

  • test_tui.py: dump parse/render layer exercised against canned tool outputs (no IDA needed).
  • The textual app is pilot-tested headlessly against a live worker (disasm/pseudo/xrefs/CFG panes all verified rendering).
  • Full suite: 238 passed.

Full Changelog: v1.0.1...v1.1.0