| RIZIN(1) | General Commands Manual | RIZIN(1) |
نام (NAME)
rizin —
ویرایشگر
هگزادسیمال،
دیاسمبلر
و دیباگر
پیشرفته خط
فرمان
خلاصه دستور (SYNOPSIS)
rizin
[-ACdfLMnNqStuvwzX] [-P
patch] [-p
prj] [-a
arch] [-b
bits] [-i
file] [-s
addr ] [-B
baddr] [-m
maddr] [-c
cmd] [-e
k=v] file|pid|-|--|=
توضیحات (DESCRIPTION)
Rizin یک چارچوب مهندسی معکوس مبتنی بر خط فرمان است که برای تحلیل و دیاسمبل کردن فایلهای باینری طراحی شده است. این ابزار قابلیتها و ابزارهای متنوعی را جهت تحلیل و درک ساختار، رفتار و منطق فایلهای اجرایی فراهم میکند.
گزینهها عبارتند از:
- --
- اجرای rizin بدون باز کردن هیچ فایلی
- =
- معادل 'rizin malloc://512'
- -
- خواندن فایل از stdin
- -=
- اجرای دستور R=! برای اجرای همه دستورها از راه دور
-0- چاپ \x00 پس از مقداردهی اولیه و پس از اجرای هر دستور
-1- تغییر مسیر stderr به stdout
-2- بستن توصیفگر فایل stderr (بیصدا کردن پیامهای هشدار)
-a[arch]- تنظیم معماری اسمبلی (x86، ppc، arm، mips، bf، java، ...)
-A- اجرای دستور 'aaa' پیش از اعلان خط فرمان یا اعمال وصله جهت تحلیل تمام کدهای ارجاعدادهشده
-b[bits]- تنظیم تعداد بیتهای اسمبلی (16، 32، 64)
-B[baddr]- تنظیم آدرس پایه برای فایلهای اجرایی مستقل از موقعیت (PIE)
-c'cmd..'- اجرای دستور مشخصشده Rizin
- -C
- مشخص کردن یک فایل در قالب “host:port” برای اجرای Rizin از راه دور از طریق HTTP
-d- دیباگ کردن فایل اجرایی 'file' یا فرآیند در حال اجرای 'pid'
-D[backend]- فعال کردن حالت دیباگ با تنظیم متغیر پیکربندی 'cfg.debug=true'
-ek=v- ارزیابی و تنظیم متغیر پیکربندی مشخصشده
-f- تنظیم اندازه بلوک برابر با اندازه فایل
- -F [binplugin]
- اجبار به استفاده از یک افزونه rbin خاص
-h,-hh- نمایش پیامهای راهنما، با -hh راهنمای کاملتری نمایش داده میشود
-H- چاپ اطلاعات درباره مسیرهای نصب و تنظیمات پیکربندی Rizin. این گزینه برای دریافت جزئیات درباره مکان نصب، دایرکتوریها و بخشهای مختلف Rizin مفید است
-i[file]- اجرای دستورها از فایل اسکریپت
-I[file]- اجرای فایل اسکریپت پیش از بارگذاری فایل هدف
-k[OS/kern]- تنظیم سیستمعامل اسمبلی
-l[lib]- بارگذاری فایل افزونه مشخصشده
-L- فهرست کردن افزونههای IO پشتیبانیشده
-m[addr]- نگاشت فایل در آدرس دادهشده
-M- غیرفعال کردن بازگردانی نامها (demangling)
-n,-nn- کنترل بارگذاری اطلاعات RzBin، با -nn فقط ساختارهای باینری بارگذاری میشوند
-N- غیرفعال کردن تنظیمات/پروژههای کاربر از ~/.rizinrc، ~/.config/rizin/rizinrc و اسکریپتهای درون دایرکتوری .../rizinrc.d/
-NN- غیرفعال کردن بارگذاری هرگونه اسکریپت یا افزونه
-q- حالت بیصدا، جلوگیری از نمایش اعلان خط فرمان و خروج پس از اجرای اسکریپت
-qq- خروج پیش از نمایش اعلان خط فرمان، بلافاصله پس از ارزیابی تمام آرگومانهای -e و -c و -i
-Q- همانند q، اما خروج بدون آزادسازی RzCore؛ این کار در زمان خروج باعث نشت حافظه میشود، اما چند میلیثانیه ارزشمند برای اجرای مجموعه آزمونها در حالت سریع صرفهجویی میکند
-p[prj]- تنظیم فایل پروژه
-r[rz-run]- مشخص کردن نمایه rz-run در dbg.profile برای استفاده هنگام راهاندازی برنامه جهت دیباگ
-R[rule]- مشخص کردن دستورالعملهای سفارشی rz-run بدون نیاز به ایجاد یک نمایه rz-run
-s[addr]- شروع پیمایش (seek) از این آدرس
-T- خودداری از محاسبه درهمسازیهای (هشهای) فایل
-u- تنظیم bin.filter=false جهت بارگذاری اطلاعات rbin بدون فیلتر کردن نامها
-v- نمایش اطلاعات نسخه و خروج (از -qv برای دریافت تنها شماره نسخه استفاده کنید)
-V- نمایش نسخه کتابخانههای rizin
-w- باز کردن در حالت نوشتن
-x- باز کردن فایل بدون پرچم قابل اجرا
-X- مشابه -e bin.usextr=false، عدم استفاده از افزونههای استخراج، مفید برای dyldcache
-z,-zz- عدم بارگذاری رشتهها یا بارگذاری آنها حتی در حالت خام
محیط (ENVIRONMENT)
ANSICON: عرض و ارتفاع بافر ansicon و عرض و ارتفاع پنجره در قالب: "WxH (wxh)"
DEBUGINFOD_URLS: e bin.dbginfo.debuginfod_urls - استفاده از سرور debuginfod جایگزین
COLUMNS: تعداد ستونهای ترمینال مورد استفاده
RZ_ABORTLEVEL: سطح/شدت لاگ هدف برای لغو و خروج اضطراری (0:DEBUG, 1:VERBOSE, 2:INFO, 3:WARN, 4:ERROR, 5:FATAL)
RZ_CURL: استفاده یا عدم استفاده از curl (برای پشتیبانی از SSL)
RZ_DEBUG_ASSERT: تنظیم نقطه توقف هنگام مواجهه با یک assert
RZ_DEBUG_TOOL ابزار دیباگ مورد استفاده هنگام نمایش پیامهای خطا و سیگنال کرش
RZ_DYLDCACHE_FILTER: فیلتر حافظه موقت dyld (مکان(های) کتابخانههای پویای MacOS در زمان اجرا)
RZ_HTTP_AUTHFILE: فایل کاربر احراز هویت HTTP
RZ_LOGCOLORS: آیا خروجی ثبت وقایع از رنگها استفاده کند یا خیر (TODO)
RZ_LOGFILE: نام/مسیر فایل خروجی ثبت وقایع
RZ_LOGLEVEL: سطح/شدت لاگ هدف (0:DEBUG, 1:VERBOSE, 2:INFO, 3:WARN, 4:ERROR, 5:FATAL)
RZ_LOGSHOWSOURCES: آیا خروجی ثبت وقایع حاوی اطلاعات منبع (filename:lineno) باشد یا خیر
RZ_PIPE_IN: ورودی دستور rzpipe (توصیفگر فایل)
RZ_PIPE_OUT: خروجی دستور rzpipe (توصیفگر فایل)
RZ_PREFIX: پیشوند پیشفرضی که rizin برای آن کامپایل شده است
RZ_RCFILE: فایل پیکربندی کاربر
SFLIBPATH: مسیر کتابخانه فراخوانی سیستمی SFLib
مثالها (EXAMPLES)
اجرای rizin در حالت تحلیل (-A) روی فایل اجرایی /bin/ls:
rizin -A
/bin/ls
باز کردن فایل /bin/ls در حالت نوشتن، برای ایجاد امکان اعمال تغییرات در فایل باینری:
rizin -w
/bin/ls
اجرای دیباگر rizin (-d) روی /bin/ls و ارسال آرگومانهای “-l” و “/tmp” به برنامه برای دیباگ:
rizin -d
/bin/ls -l
/tmp
همچنین ببینید (SEE ALSO)
rz-test(1), rz-hash(1), rz-find(1), rz-bin(1), rz-diff(1), rz-asm(1), rz-ax(1), rz-gg(1), rz-run(1)
نویسندگان (AUTHORS)
pancake <pancake@nopcode.org>
byteninjaa0
| August 25, 2023 |