RASM2(1)

NAME
rasm2 - Radare2 Assembler and Disassembler Tool

SYNOPSIS
rasm2 [-ACdDehHjLvwrNqxp] [-a arch] [-b bits] [-c cpu] [-F parser] [-k kernel] [-o ofile] [-s addr] [-@ addr] [-S syntax] [-i len] [-l len] [code|hex|-]

DESCRIPTION
Assembles and disassembles code or hexpair strings for multiple architectures and syntax formats.

-a arch
    Set architecture plugin

-A  Show analysis information of given hexpair string

-b bits
    Set architecture bits (8, 16, 32, 64)

-B  Binary input/output (-l is mandatory for binary input)

-c cpu
    Select specific CPU (depends on -a arch)

-C  Output in C format

-d  Disassemble hexpair bytes. rasm2 -d 9090

-D  Disassemble showing hexpair and opcode

-e  Use big endian instead of little endian

-E  Output disassembled instructions in ESIL format

-f file
    Read data from file instead of ARG

-F parser
    Specify parse plugin to be used (pseudo)

-h  Show usage help message

-hh Show long help message including supported assembler directives

-H [var]
    Display variable

-i len
    Ignore/skip N bytes from the beginning of the input buffer

-j  Output in json format

-k kernel
    Select operating system (linux, windows, darwin, android, ios, ...)

-l len
    Input/Output length

-L [name]
    List RArch plugins: (a=asm, d=disasm, e=esil, p=parse)

-LL [name]
    List RAsm parse plugins

-N  Don't load any plugin, same as R2_NOPLUGINS=1 or r2 -N

-o ofile
    Output to file, for example 'rasm2 -Bf a.asm'

-p  Run SPP over input for assembly

-q  Quiet output (handy for -L, -v, ...)

-r  Show output in r2 script

-s addr
    Define initial start/seek address (default 0)

-@ addr
    Alias for -s

-S syntax
    Select syntax output (intel, att, masm, ...)

-v  Show version information

-w  Describe opcode (what's op)

-x  Use hex dwords instead of hexpairs in the assembler output

ENVIRONMENT

R2_NOPLUGINS
    Do not load shared plugins (speedup loading)

R2_PLUGINS_ORDER
    Plugin load order: i=internal, e=env, h=home, s=system; default=iehs; ? prints help

R2_LOG_LEVEL
    Change the log level

R2_DEBUG
    If defined, show error messages and crash signal

R2_DEBUG_ASSERT
    Enables runtime assertions for debugging

RASM2_ARCH
    Same as rasm2 -a

RASM2_BITS
    Same as rasm2 -b

DIRECTIVES

List the supported assembler and preprocessor directives with:

$ rasm2 -hh

EXAMPLES

Assemble opcode:

$ rasm2 -a x86 -b 32 'mov eax, 33'

Disassemble opcode:

$ rasm2 -d 90

Show all supported architectures:

$ rasm2 -L

Assemble with specific syntax:

$ rasm2 -a x86 -b 32 -S att 'mov eax, 33'

Output in JSON format:

$ rasm2 -j -a x86 -b 32 'mov eax, 33'

Use big endian:

$ rasm2 -e -a arm -b 32 'add r0, r0, r1'

Disassemble and show ESIL output:

$ rasm2 -d -E 90

SEE ALSO

radare2(1)

AUTHORS

pancake <pancake@nopcode.org>