Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI reference

binscout [--db PATH] <command> <binary> [args]

--db overrides the sidecar database (default <binary>.rsdbg.redb). See JSON protocol for the output contract.

CommandExampleOutput
loadbinscout load fw.elfproject info; caches the analysis snapshot
functionsbinscout functions fw.elf --query main --limit 50function rows, renames resolved; --query is a case-insensitive substring over the resolved name, --caller/--callee keep call-graph neighbors of the function containing that address, --range LO HI keeps entries in the inclusive bounds; page with --offset/--limit
funcbinscout func fw.elf 0x400000blocks with instructions, edges, calls
disasmbinscout disasm fw.elf 0x400000 32decoded instructions (addr = hex or decimal, then byte count); the valid prefix plus error_at for the first bad opcode, ranges cap at 1 MiB
cfgbinscout cfg fw.elf 0x400000block nodes plus (from, to) edges
xrefsbinscout xrefs fw.elf --to 0x400000 --kind codecross-references filtered by --to/--from/--kind (code, data, string), paged with --offset/--limit behind a {"total", "xrefs"} envelope
stringsbinscout strings fw.elf --pattern SAVE --min-len 6filtered strings by address (--pattern substring or regex: expression, --min-len, --section, --include-code; executable-memory hits hidden by default; paged by --start/--limit, --offset deprecated)
symbolsbinscout symbols fw.elfimports and exports
sectionsbinscout sections fw.elfsection table: name, vaddr, in-memory/file sizes, permissions
irbinscout ir fw.elf 0x400000 32P-code-inspired lift of the range (error_at on trailing bad bytes, ranges cap at 1 MiB)
statsbinscout stats fw.elfstorage stats: binary size, sidecar DB size, analysis counts
annotatebinscout annotate fw.elf 0x400000 --rename main --comment "entry"read/write annotation at an address

Paged lists cap at 1024 rows. Addresses accept 0x-hex or decimal strings. func/cfg snap any address inside the function to its containing entry. annotate without flags reads; --rename "" clears the rename, omitting --comment leaves the comment alone. rename only accepts known function entries; comment accepts any address.

sections rows carry name, vaddr (the flat virtual address the loader mapped the section at), size (in-memory bytes), file_off/file_size (locating the raw bytes in the file), and readable/writable/executable. On PE, vaddr = IMAGE_BASE + RVA: .text at RVA 0x1000 in a 0x400000-based image lives at 0x401000, with file_off pointing at its PointerToRawData. Raw blobs have no section table and report [].