table of contents
- bookworm-backports 5.9.4+dfsg-1~bpo12+1
- testing 5.9.4+dfsg-1+b1
- unstable 5.9.8+dfsg-1
RABIN2(1) | General Commands Manual | RABIN2(1) |
NAME¶
rabin2
— Binary
program info extractor
SYNOPSIS¶
rabin2 |
[-AceghHiIsSMzlpRrLxvhqQTuUwV ]
[-a arch]
[-b bits]
[-B addr]
[-C fmt:C:[D]]
[-D lang sym|-]
[-f subbin]
[-k query]
[-K algo]
[-O binop]
[-o str]
[-m addr]
[-@ addr]
[-n str]
[-X fmt file ...]
file |
DESCRIPTION¶
This program allows you to get information about ELF/PE/MZ and CLASS files in a simple way.
All those command-line flags are also available under the i command in radare2. Type i? for help.
-@
addr- Show information (symbol, section, import) of the given address
-A
- List sub-binaries and their associated arch-bits pairs
-a
arch- Set arch (x86, arm, .. accepts underscore for bits x86_32)
-b
bits- Set bits (32, 64, ...)
-B
addr- Override baddr
-c
- List classes
-cc
- List classes in header format
-C
[fmt:C[:D]]- Create [elf,mach0,pe] for arm and x86-32/64 tiny binaries where 'C' is an hexpair list of the code bytes and ':D' is an optional concatenation to describe the bytes for the data section.
-d
- Show debug/dwarf information
-D
lang symbolname|-- Demangle symbol name (or - to read from stdin) for lang (cxx, swift, java, cxx, ..)
-e
- Show entrypoints for disk and on-memory
-ee
- Show constructor/destructors (extended entrypoints)
-f
subbin- Select sub-binary architecture. Useful for fat-mach0 binaries
-F
binfmt- Force to use that bin plugin (ignore header check)
-g
- Show all possible information
-G
addr- Load address . offset to header
-h
- Show usage help message.
-H
- Show header fields (see ih command in r2)
-I
- Show binary info (see iI command in r2)
-i
- Show imports (symbols imported from libraries) (see ii command in r2)
-j
- Output in json
-k
query- Perform SDB query on loaded file
-K
algo- Select a rahash2 checksum algorithm to be performed on sections listing (and maybe others in the future) i.e 'rabin2 -K md5 -S /bin/ls'
-l
- List linked libraries to the binary
-L
- List supported bin plugins
-M
- Show address of 'main' symbol
-m
addr- Show source line reference from a given address
-N
minlen:maxlen- Force minimum and maximum number of chars per string (see -z and -zz). if (strlen>minlen && (!maxlen || strlen<=maxlen))
-n
str- Show information (symbol, section, import) at string offset
-o
str- Output file/folder for write operations (out by default)
-O
binop- Perform binary operation on target binary (dump, resize, change sections, ...) see '-O help' for more information
-p
- Disable VA. Always show physical addresses (not the same as -B0)
-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 radare format
-R
- Show relocations
-s
- Show exported symbols
-S
- Show sections
-SS
- Show segments
-t
- Show file hashes
-T
- Show certificates
-u
- Unfiltered (no rename duplicated symbols/sections)
-U
- Show resources
-v
- Show version information
-V
- Show binary version information
-w
- Show try/catch blocks
-x
- Extract all sub binaries from a fat binary (for example: fatmach0)
-X
format file ...- Package a fat or zip containing all the files passed (fat, zip)
-z
- Show strings inside .data section (like gnu strings does)
-Z
- Guess size of binary program
-zz
- Shows strings from raw bins
-zzz
- Dump raw strings to stdout (for huge files)
ENVIRONMENT¶
RABIN2_ARGS ignore cli and use these arguments instead
RABIN2_LANG same as r2 -e bin.lang for rabin2
RABIN2_DEMANGLE demangle symbols
RABIN2_MAXSTRBUF same as r2 -e bin.maxstrbuf for rabin2
RABIN2_DEBASE64 try to decode all strings as base64 if possible
RABIN2_STRFILTER same as r2 -e bin.str.filter for rabin2
RABIN2_STRPURGE same as r2 -e bin.str.purge for rabin2
RABIN2_DEMANGLE_TRYLIB same as r2 -e bin.demangle.trylib=<bool> - try to dynamically load libraries to demangle
RABIN2_VERBOSE same as r2 -e bin.verbose=true
EXAMPLES¶
List symbols of a program
$ rabin2 -s a.out
Get offset of symbol
$ rabin2 -n _main a.out
Get entrypoint
$ rabin2 -e a.out
Load symbols and imports from radare2
$ r2 -n /bin/ls
[0x00000000]> .!rabin2 -prsi $FILE
SEE ALSO¶
AUTHORS¶
Written by pancake <pancake@nopcode.org>.
November 22, 2021 |