radare2/man/rax2.1

107 lines
2.5 KiB
Groff

.Dd Dec 28, 2023
.Dt RAX2 1
.Sh NAME
.Nm rax2
.Nd radare base converter
.Sh SYNOPSIS
.Nm rax2
.Op Fl ebBsSvxkKh
.Op [expr] ...
.Sh DESCRIPTION
This command is part of the radare project.
.Pp
This command allows you to convert values between positive and negative integer, float, octal, binary and hexadecimal values.
.Sh OPTIONS
.Bl -tag -width Fl
.It Fl b
Convert from binary string to character (rax2 \-b 01000101)
.It Fl k
Keep the same base as the input data
.It Fl e
Swap endian.
.It Fl F
Read C strings from stdin and output in hexpairs. Useful to load shellcodes
.It Fl i
Dump stdin to C array in stdout (xxd replacement)
.It Fl I
Convert LONG to/from IP ADDRESS
.It Fl l
Append newline to the decoded output for human friendly-ness
.It Fl K
Show randomart key asciiart for values or hexpairs
.It Fl r
Show the same output as the r2's `? 0x804` command.
When combined with -S (-rS) it will print r2 commands to write the actual binary into radare2
.It Fl s
Convert from hex string to character (rax2 \-s 43 4a 50)
.It Fl S
Convert from character to hex string (rax2 \-S C J P)
.It Fl n
Show hexpairs from integer value
.It Fl N
Show hexadecimal C string from integer value
.It Fl u
Convert given value to human readable units format
.It Fl v
Show program version
.It Fl x
Convert a string into a hash
.It Fl h
Show usage help message
.It Fl o
Convert from octal string to char (rax2 -o 162 62)
.El
.Sh USAGE
.Pp
Force output mode (numeric base)
.Pp
=f floating point
=2 binary
=3 ternary
=8 octal
=10 decimal
=16 hexadecimal
.Pp
Available variable types are:
.Pp
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
.Pp
With no arguments, rax2 reads values from stdin. You can pass one or more values
as arguments.
.Pp
$ rax2 33 0x41 0101b
0x21
65
0x5
.Pp
You can do 'unpack' hexpair encoded strings easily.
.Pp
$ rax2 \-s 41 42 43
ABC
.Pp
And it supports some math operations.
.Pp
$ rax2
0x5*101b+5
30
.Pp
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.
.Pp
.Sh SEE ALSO
.Pp
.Xr radare2(1)
.Sh AUTHORS
.Pp
Written by pancake <pancake@nopcode.org>.