RZ\_AX(1) General Commands Manual RZ\_AX(1)

# [NAME](#NAME)

`rz-ax` — rizin base converter

# [SYNOPSIS](#SYNOPSIS)

`rz-ax` \[`-ebBdDeEfFhiIklLosStuvwx`] \[expr ...]

# [DESCRIPTION](#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](#OPTIONS)

[`-a`](#a)

Show ASCII table

[`-b`](#b)

Convert from binary to string (rz-ax -b 01000101 01110110)

[`-B`](#B)

Convert from string to binary (rz-ax -B hello)

[`-d`](#d)

Force output as integer (rz-ax -d 3 outputs 3 instead of 0x3)

[`-D`](#D)

Base64 decode

[`-e`](#e)

Swap endianness (rz-ax -e 0x33)

[`-E`](#E)

Base64 encode

[`-f`](#f)

Floating point arithmetic (rz-ax -f 6.3+2.1)

[`-F`](#F)

Read C strings from stdin and output in hexpairs. Useful to load shellcodes (rz-ax -F &lt; shellcode.\[c/py/js])

[`-h`](#h)

Show usage help message

[`-i`](#i)

Dump stdin to C array in stdout (rz-ax -i &lt; bytes)

[`-I`](#I)

Convert LONG to/from IP ADDRESS (rz-ax -I 3530468537)

[`-k`](#k)

Keep the same base as the input data (rz-ax -k 33+3 -&gt; 36)

[`-l`](#l)

Append newline to the decoded output

[`-L`](#L)

Convert binary to hexadecimal (rz-ax -L 111111111 outputs 0x1ff)

[`-n`](#n)

Show hexpairs from integer value (rz-ax -n 0x1234 # 34120000)

[`-N`](#N)

Show hex C string from integer value (rz-ax -N 0x1234 # \\x34\\x12\\x00\\x00)

[`-o`](#o)

Convert from octal string to char (rz-ax -o \\162 \\172 # rz)

[`-r`](#r)

Rz style output (rz-ax -r 0x1234)

[`-s`](#s)

Convert from hex string to character (rz-ax -s 43 4a 50)

[`-S`](#S)

Convert from character to hex string (rz-ax -S &lt; /bin/ls &gt; ls.hex)

[`-t`](#t)

Convert Unix timestamp to string (rz-ax -t 1234567890)

[`-m`](#m)

Convert MS-DOS timestamp to string (rz-ax -m 0x12345678)

[`-W`](#W)

Convert Win32 timestamp to string (rz-ax -W 1234567890)

[`-u`](#u)

Convert given value to human readable units format (rz-ax -u 389289238 # 317.0M)

[`-v`](#v)

Show version information

[`-w`](#w)

Convert signed word (rz-ax -w 16 0xffff)

[`-x`](#x)

Convert a string into a hash (rz-ax -x linux osx)

[`-p`](#p)

Show position of set bits in the binary representation (rz-ax -p 0xb3)

# [USAGE](#USAGE)

Force output mode (numeric base)

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

Available variable types are:

int -&gt; hex rz-ax 10  
hex -&gt; int rz-ax 0xa  
\-int -&gt; hex rz-ax -77  
\-hex -&gt; int rz-ax 0xffffffb3  
int -&gt; bin rz-ax b30  
int -&gt; ternary rz-ax t42  
ternary -&gt; int rz-ax 1010dt  
bin -&gt; int rz-ax 1010d  
float -&gt; hex rz-ax 3.33f  
hex -&gt; float rz-ax Fx40551ed8  
oct -&gt; hex rz-ax 35o  
hex -&gt; oct rz-ax Ox12 (O is a letter)  
bin -&gt; hex rz-ax 1100011b  
hex -&gt; bin rz-ax Bx63  
ternary -&gt; hex rz-ax 212t  
hex -&gt; ternary z-ax Tx23  
raw -&gt; hex rz-ax -S &lt; /binfile  
hex -&gt; 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](#SEE_ALSO)

[rizin(1)](/man/os/rizin/rizin.1), [rz-asm(1)](/man/os/rizin/rz-asm.1), [rz-bin(1)](/man/os/rizin/rz-bin.1), [rz-diff(1)](/man/os/rizin/rz-diff.1), [rz-find(1)](/man/os/rizin/rz-find.1), [rz-gg(1)](/man/os/rizin/rz-gg.1), [rz-hash(1)](/man/os/rizin/rz-hash.1), [rz-run(1)](/man/os/rizin/rz-run.1), [rz-sign(1)](/man/os/rizin/rz-sign.1)

# [AUTHORS](#AUTHORS)

pancake &lt;pancake@nopcode.org&gt;

byteninjaa0

December 28, 2020 Linux 4.19.0-gvisor

---

Document: rz-ax(1) from rizin 0.9.1-r2 (Chainguard OS)
Source: https://github.com/rizinorg/rizin
