Provided by: radare2_5.9.8+dfsg-2_amd64 bug

NAME

       rax2 — radare base converter

SYNOPSIS

       rax2 [-ebBsSvxkKh] [[expr] ...]

DESCRIPTION

       This command is part of the radare project.

       Rax2  is a powerful calculator within the Radare2 suite, primarily used for numerical system conversions,
       encoding and decoding C strings,  hexpairs,  and  base64,  essential  for  binary  analysis  and  reverse
       engineering tasks.

       The  most common numerical bases include binary (base 2) for direct machine code interaction, hexadecimal
       (base 16) for memory addresses and compact data representation, and decimal (base 10) for  human-readable
       calculations and interpretations.

OPTIONS

       -a          Show ASCII table

       -b          Force output mode (numeric base)

                     f    floating point
                     2    binary
                     3    ternary
                     8    octal
                     10   decimal
                     16   hexadecimal

       -c          Show hexadecimal C string from integer value

       -C          Dump stdin to C array in stdout (xxd replacement)

       -d          Print the result in decimal (base 10)

       -D          Decode the input data using base64

       -e          Swap endianness

       -E          Encode the input data using base64

       -f          Interpret  the  input  number  as  a  32bit  dword and display it using IEEE 754 standard for
                   floating point arithmetic

       -F          Read C strings from stdin and output in hexpairs. Useful to load shellcodes

       -h          Show usage help message

       -k          Keep the same base as the input data

       -K          Show randomart key asciiart for values or hexpairs

       -H          Convert a string into a hash

       -i          Convert LONG to/from IP ADDRESS

       -j          Show the output in json format, the same as the r2 `?j 0x804` command.

       -n          Append newline to the decoded output for human friendlyness

       -o          Convert from octal string to char (rax2 -o 162 62)

       -q          Be quiet. Show less information or drop the superfluous details in the output.  For  example:
                   rax2 -qC

       -r          Show  the  same  output  as  the r2's `? 0x804` command.  When combined with -S (-rS) it will
                   print r2 commands to write the actual binary into radare2

       -s          Convert from hex pairs string to character (rax2 -s 43 4a 50)

       -S          Convert from character to hex string (rax2 -S C J P)

       -t          Convert epoch timestamp to human readable date format

       -u          Convert given value to human readable units format

       -v          Show program version

       -w          Display the result as 16bit signed integer value

       -x          Show hexpairs from integer value

       -X          Convert a bit stream (an arbitrary sequence of 0 and 1 of any  length)  to  hexadecimal.  The
                   result can be larger than 64bits

       -z          Convert from character string to binary (rax2 -z hello)

       -Z          Convert from binary string to string (rax2 -l 01000101)

USAGE

       Available variable types are:

         int   ->  hex    rax2 10
         hex   ->  int    rax2 0xa
         -int  ->  hex    rax2 -77
         -hex  ->  int    rax2 0xffffffb3
         int   ->  bin    rax2 b30
         bin   ->  int    rax2 1010d
         float ->  hex    rax2 3.33f
         hex   ->  float  rax2 Fx40551ed8
         oct   ->  hex    rax2 35o
         hex   ->  oct    rax2 Ox12 (O is a letter)
         bin   ->  hex    rax2 1100011b
         hex   ->  bin    rax2 Bx63

EXAMPLES

       With no arguments, rax2 reads values from stdin. You can pass one or more values as arguments.

         $ rax2 33 0x41 0101b
         0x21
         65
         0x5

       You can do 'unpack' hexpair encoded strings easily.

         $ rax2 -s 41 42 43
         ABC

       It supports some math operations:

         $ rax2 1+1 "0x5*101b+5"
         2
         30

       Encode and decode binary file using base64:

         $ rax2 -E < /bin/ls > ls.b64
         $ rax2 -D < ls.b64 > ls

         $ cmp /bin/ls ls && echo $?
         0

       Use -z/-Z to convert between binary and string:

         $ rax2 -z hello
         001100000111100000110001001100010011001000110011
         $ rax2 -Z 0110100001100101011011000110110001101111
         hello

       It  is a very useful tool for scripting, so you can read floating point values, or get the integer offset
       of a jump or a stack delta when analyzing programs.

SEE ALSO

       radare2(1)

WWW

       https://www.radare.org

AUTHORS

       Written by pancake <pancake@nopcode.org>.

                                                  Mar 19, 2024                                           RAX2(1)