RIZIN(1) General Commands Manual RIZIN(1)

rizin — ویرایشگر هگزادسیمال، دی‌اسمبلر و دیباگر پیشرفته خط فرمان

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|-|--|=

Rizin یک چارچوب مهندسی معکوس مبتنی بر خط فرمان است که برای تحلیل و دی‌اسمبل کردن فایل‌های باینری طراحی شده است. این ابزار قابلیت‌ها و ابزارهای متنوعی را جهت تحلیل و درک ساختار، رفتار و منطق فایل‌های اجرایی فراهم می‌کند.

گزینه‌ها عبارتند از:

--
اجرای rizin بدون باز کردن هیچ فایلی
=
معادل 'rizin malloc://512'
-
خواندن فایل از stdin
-=
اجرای دستور R=! برای اجرای همه دستورها از راه دور
چاپ \x00 پس از مقداردهی اولیه و پس از اجرای هر دستور
تغییر مسیر stderr به stdout
بستن توصیف‌گر فایل stderr (بی‌صدا کردن پیام‌های هشدار)
[arch]
تنظیم معماری اسمبلی (x86، ppc، arm، mips، bf، java، ...)
اجرای دستور 'aaa' پیش از اعلان خط فرمان یا اعمال وصله جهت تحلیل تمام کدهای ارجاع‌داده‌شده
[bits]
تنظیم تعداد بیت‌های اسمبلی (16، 32، 64)
[baddr]
تنظیم آدرس پایه برای فایل‌های اجرایی مستقل از موقعیت (PIE)
'cmd..'
اجرای دستور مشخص‌شده Rizin
-C
مشخص کردن یک فایل در قالب “host:port” برای اجرای Rizin از راه دور از طریق HTTP
دیباگ کردن فایل اجرایی 'file' یا فرآیند در حال اجرای 'pid'
[backend]
فعال کردن حالت دیباگ با تنظیم متغیر پیکربندی 'cfg.debug=true'
k=v
ارزیابی و تنظیم متغیر پیکربندی مشخص‌شده
تنظیم اندازه بلوک برابر با اندازه فایل
-F [binplugin]
اجبار به استفاده از یک افزونه rbin خاص
-hh
نمایش پیام‌های راهنما، با -hh راهنمای کامل‌تری نمایش داده می‌شود
چاپ اطلاعات درباره مسیرهای نصب و تنظیمات پیکربندی Rizin. این گزینه برای دریافت جزئیات درباره مکان نصب، دایرکتوری‌ها و بخش‌های مختلف Rizin مفید است
[file]
اجرای دستورها از فایل اسکریپت
[file]
اجرای فایل اسکریپت پیش از بارگذاری فایل هدف
[OS/kern]
تنظیم سیستم‌عامل اسمبلی
[lib]
بارگذاری فایل افزونه مشخص‌شده
فهرست کردن افزونه‌های IO پشتیبانی‌شده
[addr]
نگاشت فایل در آدرس داده‌شده
غیرفعال کردن بازگردانی نام‌ها (demangling)
-nn
کنترل بارگذاری اطلاعات RzBin، با -nn فقط ساختارهای باینری بارگذاری می‌شوند
غیرفعال کردن تنظیمات/پروژه‌های کاربر از ~/.rizinrc، ~/.config/rizin/rizinrc و اسکریپت‌های درون دایرکتوری .../rizinrc.d/
غیرفعال کردن بارگذاری هرگونه اسکریپت یا افزونه
حالت بی‌صدا، جلوگیری از نمایش اعلان خط فرمان و خروج پس از اجرای اسکریپت
خروج پیش از نمایش اعلان خط فرمان، بلافاصله پس از ارزیابی تمام آرگومان‌های -e و -c و -i
همانند q، اما خروج بدون آزادسازی RzCore؛ این کار در زمان خروج باعث نشت حافظه می‌شود، اما چند میلی‌ثانیه ارزشمند برای اجرای مجموعه آزمون‌ها در حالت سریع صرفه‌جویی می‌کند
[prj]
تنظیم فایل پروژه
[rz-run]
مشخص کردن نمایه rz-run در dbg.profile برای استفاده هنگام راه‌اندازی برنامه جهت دیباگ
[rule]
مشخص کردن دستورالعمل‌های سفارشی rz-run بدون نیاز به ایجاد یک نمایه rz-run
[addr]
شروع پیمایش (seek) از این آدرس
خودداری از محاسبه درهم‌سازی‌های (هش‌های) فایل
تنظیم bin.filter=false جهت بارگذاری اطلاعات rbin بدون فیلتر کردن نام‌ها
نمایش اطلاعات نسخه و خروج (از -qv برای دریافت تنها شماره نسخه استفاده کنید)
نمایش نسخه کتابخانه‌های rizin
باز کردن در حالت نوشتن
باز کردن فایل بدون پرچم قابل اجرا
مشابه -e bin.usextr=false، عدم استفاده از افزونه‌های استخراج، مفید برای dyldcache
-zz
عدم بارگذاری رشته‌ها یا بارگذاری آن‌ها حتی در حالت خام

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

اجرای 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

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)

pancake <pancake@nopcode.org>
byteninjaa0

August 25, 2023