r2js
Installation
SKILL.md
When to use
Pick this skill when SQL alone can't answer the question:
- r2 commands not surfaced as tables (e.g. ESIL emulation,
aae*,agCcall-graph dump,p8raw-byte read at an address,wxto patch bytes, …) - multi-step r2 scripts where each step depends on r2 state, not just table data
- custom analyses written in r2js (
#!js) — typed JS that runs inside r2 with full SDK access - pivoting from SQL results back into r2 (e.g. drop temporary flags so the next SQL query sees them)
How r2xsql exposes raw r2 access
r2xsql holds a Backend (either LibrBackend or R2PipeBackend) and
forwards arbitrary commands through Session::raw_cmd(std::string).
From the CLI, raw r2 commands are reachable via: