RAX2(1) | General Commands Manual | RAX2(1) |
rax2
— radare base
converter
rax2 |
[-ebBsSvxkKh ] [[expr] ...] |
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.
-a
-b
f floating point
2 binary
3 ternary
8 octal
10 decimal
16 hexadecimal
-c
-C
-d
-D
-e
-E
-f
-F
-h
-k
-K
-H
-i
-j
-n
-o
-q
-r
-s
-S
-t
-u
-v
-w
-x
-X
-z
-Z
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
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.
https://www.radare.org
Written by pancake <pancake@nopcode.org>.
March 19, 2024 |