NAME
rz-ax – rizin base converter
SYNOPSIS
rz-ax [-ebBdDeEfFhiIklLosStuvwx] [[expr] ...]
DESCRIPTION
This command is part of the Rizin project.
This command allows you to convert values between positive and negative integer, float, octal, binary, ternary, and hexadecimal values.
OPTIONS
- -a
-
Show ASCII table
- -b
-
Convert from binary to string (rz-ax -b 01000101 01110110)
- -B
-
Convert from string to binary (rz-ax -B hello)
- -d
-
Force output as integer (rz-ax -d 3 outputs 3 instead of 0x3)
- -D
-
Base64 decode
- -e
-
Swap endianness (rz-ax -e 0x33)
- -E
-
Base64 encode
- -f
-
Floating point arithmetic (rz-ax -f 6.3+2.1)
- -F
-
Read C strings from stdin and output in hexpairs. Useful to load shellcodes (rz-ax -F < shellcode.[c/py/js])
- -h
-
Show usage help message
- -i
-
Dump stdin to C array in stdout (rz-ax -i < bytes)
- -I
-
Convert LONG to/from IP ADDRESS (rz-ax -I 3530468537)
- -k
-
Keep the same base as the input data (rz-ax -k 33+3 -> 36)
- -l
-
Append newline to the decoded output
- -L
-
Convert binary to hexadecimal (rz-ax -L 111111111 outputs 0x1ff)
- -n
-
Show hexpairs from integer value (rz-ax -n 0x1234 # 34120000)
- -N
-
Show hex C string from integer value (rz-ax -N 0x1234 #
- -o
-
Convert from octal string to char (rz-ax -o 162 172 # rz)
- -r
-
Rz style output (rz-ax -r 0x1234)
- -s
-
Convert from hex string to character (rz-ax -s 43 4a 50)
- -S
-
Convert from character to hex string (rz-ax -S < /bin/ls > ls.hex)
- -t
-
Convert Unix timestamp to string (rz-ax -t 1234567890)
- -m
-
Convert MS-DOS timestamp to string (rz-ax -m 0x12345678)
- -W
-
Convert Win32 timestamp to string (rz-ax -W 1234567890)
- -u
-
Convert given value to human readable units format (rz-ax -u 389289238 # 317.0M)
- -v
-
Show version information
- -w
-
Convert signed word (rz-ax -w 16 0xffff)
- -x
-
Convert a string into a hash (rz-ax -x linux osx)
- -p
-
Show position of set bits in the binary representation (rz-ax -p 0xb3)
USAGE
Force output mode (numeric base)
=f floating point
=2 binary
=3 ternary
=8 octal
=10 decimal
=16 hexadecimal
Available variable types are:
int -> hex rz-ax 10
hex -> int rz-ax 0xa
-int -> hex rz-ax -77
-hex -> int rz-ax 0xffffffb3
int -> bin rz-ax b30
int -> ternary rz-ax t42
ternary -> int rz-ax 1010dt
bin -> int rz-ax 1010d
float -> hex rz-ax 3.33f
hex -> float rz-ax Fx40551ed8
oct -> hex rz-ax 35o
hex -> oct rz-ax Ox12 (O is a letter)
bin -> hex rz-ax 1100011b
hex -> bin rz-ax Bx63
ternary -> hex rz-ax 212t
hex -> ternary z-ax Tx23
raw -> hex rz-ax -S < /binfile
hex -> raw rz-ax -s 414141
With no arguments, rz-ax read values from stdin. You can pass one or more values as arguments.
$ rz-ax 33 0x41 0101b
0x21
65
0x5
You can do 'unpack' hexpair encoded strings easily.
$ rz-ax -s 41 42 43
ABC
And it supports some math operations.
$ rz-ax
0x5*101b+5
30
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
rizin(1), rz-hash(1), rz-find(1), rz-bin(1), rz-diff(1), rz-gg(1), rz-run(1), rz-asm(1), rz-sign(1)
AUTHORS
pancake <[email protected]>
byteninjaa0