RZ_BIN(1)

NAME
rz-bin - Binary program info extractor

SYNOPSIS
rz-bin [-AcdeEghHiIjlLMqrRsSUvVxzZ] [-@ at] [-a arch] [-b bits] [-B addr] [-C F:C:D] [-f str] [-m addr] [-n str] [-N m:M] [-P pdb] [-o str] [-O str] [-k query] [-D lang symname] file

DESCRIPTION
This command is part of the Rizin project.

rz-bin can analyze and extract useful information from binary executable files like ELF, PE, Mach-O, etc. It supports multiple architectures like x86, ARM, MIPS, PowerPC, etc.

OPTIONS

-@ addr
    Show section, symbol, or import at the given address

-A  List sub-binaries and their arch-bits pairs

-a arch
    Set architecture (x86, arm, .. or <arch>_<bits>)

-b bits
    Set bits (32, 64 ...)

-B addr
    Override base address (PIE bins)

-c  List classes

-cc List classes in header format

-C fmt:C:D
    Create [elf, mach0, pe] with Code and Data hexpairs (see -a)

-d  Show debug/dwarf information

-dd Load debug/dwarf information from debuginfod server

-D lang name
    Demangle symbol name (-D all for bin.demangle=true)

-e  Entrypoint

-E  Globally exportable symbols

-f str
    Select sub-bin named str

-F binfmt
    Force to use that bin plugin (ignore header check)

-g  Same as -SMZIHVResizcld -SS -SSS -ee (show all information)

-G addr
    Load address . offset to header

-h  Show usage help message

-H  Header fields

-i  Import (symbols imported from libraries)

-I  Binary info

-j  Output in JSON

-k sdb-query
    Run sdb query. for example: '*'

-K algo
    Calculate checksums (md5, sha1, ..)

-l  Linked libraries

-L plugin
    List supported bin plugins or plugin details

-m addr
    Show source line at addr

-M  Main (show address of main symbol)

-n str
    Show section, symbol, or import named str

-N min:max
    Force min:max number of chars per string (see -z and -zz)

-o str
    Output file/folder for write operations (out by default)

-O str
    Write/extract operations (-O help)

-p  Show physical addresses

-P  Show debug/pdb information

-PP Download pdb file for binary

-q  Be quiet, just show fewer data

-qq Show less info (no offset/size for -z for ex.)

-Q  Show load address used by dlopen (non-aslr libs)

-r  Show output in rizin format

-R  Show relocations

-s  Symbols

-S  Sections

-SS Segments

-SSS
    Sections mapping to segments

-T  Display file signature

-u  Unfiltered (no rename duplicated symbols/sections)

-U  Resources

-v  Show version information

-V  Show binary version information

-w  Display try/catch blocks

-x  Extract bins contained in file

-Y  Calculate all the possibles base address candidates of a firmware bin

-z  Show strings (from data section)

-zz Show strings (from raw strings from bin)

-zzz
    Dump raw strings to stdout (for huge files)

-Z  Guess size of binary program

ENVIRONMENT

RZ_BIN_CODESIGN_VERBOSE
    make code signatures verbose

RZ_BIN_DEBUGINFOD_URLS
    bin.dbginfo.debuginfod_urls - use alternative debuginfod server

RZ_BIN_DEMANGLE
    bin.demangle - do not demangle symbols

RZ_BIN_LANG
    bin.lang - assume lang for demangling

RZ_BIN_MAXSTRBUF
    bin.maxstrbuf - specify maximum buffer size

RZ_BIN_PDBSERVER
    pdb.server - use alternative PDB server

RZ_BIN_PREFIX
    bin.prefix - prefix symbols/sections/relocs with a specific string

RZ_BIN_STRFILTER
    bin.str.filter - rizin -qc 'e bin.str.filter=??' -

RZ_BIN_STRPURGE
    bin.str.purge - try to purge false positives

RZ_BIN_SYMSTORE
    pdb.symstore - path to downstream symbol store

RZ_CONFIG
    sdb config file

RZ_NOPLUGINS
    do not load shared plugins (speedup loading)

EXAMPLES
List symbols of a program:

rz-bin -s a.out

Get offset of symbol:

rz-bin -n _main a.out

Get entrypoint:

rz-bin -e a.out

Load symbols and imports from rizin:

rizin -n /bin/ls

[0x00000000]> .!rz-bin -prsi $FILE

SEE ALSO
rizin(1), rz-asm(1), rz-ax(1), rz-diff(1), rz-find(1), rz-gg(1), rz-hash(1), rz-run(1)

AUTHORS
pancake <pancake@nopcode.org>

byteninjaa0