RZ_AX(1) General Commands Manual RZ_AX(1)

rz-ax — مبدل مبنای rizin

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

این دستور بخشی از پروژه Rizin است.

این دستور به شما امکان می‌دهد مقادیر را میان مقادیر صحیح مثبت و منفی، ممیز شناور (float)، هشت‌هشتی (octal)، دودویی (binary)، سه‌تایی (ternary) و شانزده‌شانزدهی (hexadecimal) تبدیل کنید.

نمایش جدول ASCII
تبدیل از دودویی به رشته (rz-ax -b 01000101 01110110)
تبدیل از رشته به دودویی (rz-ax -B hello)
اجبار خروجی به صورت عدد صحیح (rz-ax -d 3 به جای 0x3 مقدار 3 را خروجی می‌دهد)
رمزگشایی Base64
تعویض ترتیب بایت‌ها (endianness) (rz-ax -e 0x33)
رمزگذاری Base64
محاسبات ممیز شناور (rz-ax -f 6.3+2.1)
خواندن رشته‌های C از stdin و خروجی دادن در قالب جفت‌های هگزادسیمال. مفید برای بارگذاری شل‌کدها (rz-ax -F < shellcode.[c/py/js])
نمایش پیام راهنمای نحوه استفاده
تخلیه stdin به آرایه C در stdout (rz-ax -i < bytes)
تبدیل LONG به/از IP ADDRESS (rz-ax -I 3530468537)
حفظ همان مبنای داده‌های ورودی (rz-ax -k 33+3 -> 36)
افزودن خط جدید (newline) به خروجی رمزگشایی‌شده
تبدیل دودویی به شانزده‌شانزدهی (rz-ax -L 111111111 مقدار 0x1ff را خروجی می‌دهد)
نمایش جفت‌های هگزادسیمال از مقدار عدد صحیح (rz-ax -n 0x1234 # 34120000)
نمایش رشته C هگزادسیمال از مقدار عدد صحیح (rz-ax -N 0x1234 # 4200)
تبدیل از رشته هشت‌هشتی به نویسه (rz-ax -o 162 172 # rz)
خروجی به سبک Rz (rz-ax -r 0x1234)
تبدیل از رشته هگزادسیمال به نویسه (rz-ax -s 43 4a 50)
تبدیل از نویسه به رشته هگزادسیمال (rz-ax -S < /bin/ls > ls.hex)
تبدیل برچسب زمان یونیکس به رشته (rz-ax -t 1234567890)
تبدیل برچسب زمان MS-DOS به رشته (rz-ax -m 0x12345678)
تبدیل برچسب زمان Win32 به رشته (rz-ax -W 1234567890)
تبدیل مقدار داده‌شده به قالب واحدهای خوانا برای انسان (rz-ax -u 389289238 # 317.0M)
نمایش اطلاعات نسخه
تبدیل کلمه علامت‌دار (signed word) (rz-ax -w 16 0xffff)
تبدیل یک رشته به هش (rz-ax -x linux osx)
نمایش موقعیت بیت‌های تنظیم‌شده در نمایش دودویی (rz-ax -p 0xb3)

اجبار حالت خروجی (مبنای عددی)


=f ممیز شناور (floating point)
=2 دودویی (binary)
=3 سه‌تایی (ternary)
=8 هشت‌هشتی (octal)
=10 ده‌دهی (decimal)
=16 شانزده‌شانزدهی (hexadecimal)

انواع متغیرهای موجود عبارتند از:


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 است)
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

بدون هیچ آرگومانی، rz-ax مقادیر را از stdin می‌خواند. می‌توانید یک یا چند مقدار را به‌عنوان آرگومان ارسال کنید.


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

می‌توانید رشته‌های کدگذاری‌شده با جفت‌های هگزادسیمال (hexpair) را به‌آسانی بازگشایی (unpack) کنید.


$ rz-ax -s 41 42 43
ABC

و این ابزار از برخی عملیات ریاضی نیز پشتیبانی می‌کند.


$ rz-ax
0x5*101b+5
30

این یک ابزار بسیار مفید برای اسکریپت‌نویسی است؛ بنابراین می‌توانید هنگام تحلیل برنامه‌ها، مقادیر ممیز شناور را بخوانید، یا آفست عدد صحیح یک پرش یا دلتای پشته (stack delta) را به دست آورید.

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)

pancake <pancake@nopcode.org>

byteninjaa0

December 28, 2020