Fission

Common CLI Patterns

This page collects high-frequency command patterns for day-to-day use of fission_cli. For every flag and subcommand, use the canonical reference in the repository.

Human-readable vs JSON

Example:

./target/release/fission_cli list ./binary.exe --json | jq '.functions[:5]'

Bounded exploration with --limit

When probing unknown binaries or CI smoke checks, cap work explicitly:

./target/release/fission_cli decomp ./binary.exe --all --limit 10

Increase the limit only after you trust cost and runtime for your machine.

Inventory vs single-function decomp

Goal Typical command
Inspect metadata info <binary>
Enumerate symbols / addresses list <binary> (--json optional)
One function’s pseudocode decomp <binary> --addr <ADDR>
Whole-binary structured facts for automation inventory function-facts … (see docs/CLI.md)

Use inventory when you need machine-readable corpora (JSONL rows + optional summary JSON). Use decomp when you care about readable pseudocode for specific addresses.

Ghidra-oriented comparisons

Some workflows compare shape against Ghidra-style expectations. When documented for your scenario, you may use compatibility-oriented switches such as --ghidra-compat on decomp—see docs/CLI.md for exact semantics and constraints.

Prefer current subcommands

Use first-class subcommands (info, list, disasm, decomp, strings, inventory) rather than legacy flat syntax. Legacy paths may exist for compatibility only.