RZ_AX(1)

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 # \x34\x12\x00\x00)

-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-asm(1), rz-bin(1), rz-diff(1), rz-find(1), rz-gg(1), rz-hash(1), rz-run(1), rz-sign(1)

AUTHORS
pancake <pancake@nopcode.org>

byteninjaa0