RZ-AX(1)

πŸ“¦
version 0.8.2 Β· 3 versions
, in arch rolling, nixos 26.05

πŸ’… NAME

rz-ax β€” rizin base converter ✨ (yes bestie, it converts bases, and it ate)


πŸŽ€ SYNOPSIS

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

πŸ¦‹ DESCRIPTION

Okay so, first thing: this command is part of the Rizin project. 🫢

What it does β€” and this is the iconic part β€” is let you convert values between positive and negative integer, float, octal, binary, ternary, and hexadecimal values. That's six whole vibes of numbers and rz-ax speaks all of them. No cap. πŸ’œ


✨ OPTIONS ✨

  • -a β€” Show ASCII table πŸ‘‘
  • -b β€” Convert from binary to string, like rz-ax -b 01000101 01110110
  • -B β€” Convert from string to binary, like 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 # 4200)
  • -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) ⭐
Ngl, that's a lot of flags, but each one is a little main character. Collect them all. πŸ’€

🌈 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
Heads up bestie, that Ox12 one β€” O is a letter, not a zero. Don't come for me, that's literally what the manpage says. πŸ™ˆ And yes, z-ax Tx23 is spelled exactly like that too. Copy it as-is and it'll slay. πŸ’–

With no arguments, rz-ax reads values from stdin. You can also pass one or more values as arguments. 🫢

$ rz-ax 33 0x41 0101b
0x21
65
0x5

You can do 'unpack' hexpair encoded strings easily. Look how cute this is:

$ rz-ax -s 41 42 43
ABC

And it supports some math operations. Fr fr, it does arithmetic:

$ 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. That's the real glow-up β€” this thing is a workhorse and it knows it. πŸ‘‘


πŸ” 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 <pancake@nopcode.org>

byteninjaa0


okay that's the whole page, go forth and convert bases bestie πŸ¦‹βœ¨

rz-ax(1) β€” RZ_AX(1) β€” Dec 28, 2020 πŸŽ€

πŸ“¦ where this page comes from
  • arch rolling: rizin 0.8.2-2 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC-PDDC AND CC0-1.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND MIT
  • nixos 26.05: rizin 0.8.2
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms