| RADARE2(1) | General Commands Manual | RADARE2(1) |
نام (NAME)
radare2 —
ویرایشگر
هگزادسیمال،
دیاسمبلر
و دیباگر
پیشرفته خط
فرمان
خلاصه دستور (SYNOPSIS)
radare2 [-a
arch] [-b
bits] [-B
baddr] [-c
cmd] [-e
k=v] [-i
file] [-I
prefile] [-k
kernel] [-m
addr] [-p
project] [-P
patch] [-r
rarun2] [-R
rr2rule] [-s
addr] [-012AdDEjwntLquvVxX]
-|--|=|file
توضیحات (DESCRIPTION)
یک ویرایشگر هگز، دیاسمبلر و دیباگر پیشرفته خط فرمان که امکانات مهندسی معکوس تعاملی، اسکریپتنویسی و خودکارسازی را برای تحلیل باینری و پژوهشهای آسیبپذیری فراهم میکند.
نام مستعار 'r2' میتواند به عنوان فرم کوتاه radare2 استفاده شود.
گزینهها عبارتند از:
--- باز کردن radare2 روی یک فایل خالی
-- معادل 'r2 malloc://512'
-0- چاپ \x00 پس از مقداردهی اولیه و پس از اجرای هر دستور
-1- تغییر مسیر stderr به stdout
-2- بستن stderr قبل از راهاندازی RCore
-aarch- اجبار asm.arch (شامل x86، ppc، arm، mips، bf، java، ...)
-A- اجرای دستور 'aaa' قبل از نمایش اعلان یا اعمال وصله برای تحلیل تمام کدهای ارجاعشده. استفاده از -AA برای اجرای aaaa
-bbits- اجبار asm.bits (شامل 16، 32، 64)
-Bbaddr- تعیین آدرس پایه (base address) برای استفاده هنگام بارگذاری یک فایل باینری جدید. به 'e?bin.baddr' مراجعه کنید
-ccmd- اجرای دستور دادهشده پیش از نمایش اعلان خط فرمان
-d- شروع در حالت دیباگر
-Ddbg.backend- فعالسازی حالت دیباگ. تنظیم cfg.debug=true
-ek=v- تنظیم متغیر ارزیابی پیکربندی به صورت key=value. به عنوان نمونه -e scr.color=false. در صورتی که -e پس از -j ارسال شود، به جای تنظیم متغیرهای eval، منبع اسکریپت را برای اجرا مشخص میکند.
-E- ویرایش اسکریپت راهاندازی کاربر با استفاده از ویرایشگر انتخابی در cfg.editor (متغیر محیطی EDITOR)
-f- تنظیم اندازه بلوک (Blocksize) معادل اندازه فایل
-j- اجرای اسکریپت QJS در صورت ارسال آرگومان، یا ورود به پوسته qjs در صورت مشخص نشدن فایل. میتوانید با ارسال پرچم -e پس از -j عبارتها را ارزیابی کنید.
-ifile- اجرای اسکریپت، برنامه زبان یا فایل افزونه radare2 پس از بارگذاری فایل
-Ifile- اجرای اسکریپت، برنامه زبان یا فایل افزونه radare2 قبل از بارگذاری فایل
-kkernel- انتخاب هسته (asm.os) برای شناسایی و برطرفسازی فراخوانهای سیستمی (syscall)
-L- فهرستکردن افزونههای بارگذاریشده ورودی/خروجی (IO).
-LL- فهرستکردن افزونههای هسته (core plugins) بارگذاریشده.
-maddr- نگاشت فایل در آدرس دادهشده
-M- غیرفعالسازی demangling
-n- انجام ندادن هیچگونه تحلیل (r_bin). فقط بارگذاری فایل خام
-nn- فقط بارگذاری ساختارهای rbin (مانند elf، mach0، ...)
-N- بارگذاری نکردن تنظیمات/پروژههای کاربر از ~/.radare2rc، ~/.config/radare2/rc و اسکریپتهای درون دایرکتوری ~/.config/radare2/rc.d/.
-NN- مشابه -N، اما بارگذاری خودکار افزونهها در زمان راهاندازی را نیز غیرفعال میکند
-q- حالت بیصدا (بدون اعلان) و خروج پس از اجرای دستورهای مشخصشده با -i یا -c
-qq- خروج قبل از نمایش اعلان خط فرمان. بلافاصله پس از ارزیابی تمام آرگومانهای -e، -c و -i.
-Q- مشابه q، اما خروج بدون آزادسازی RCore انجام میشود؛ این امر باعث نشت حافظه در زمان خروج میشود اما مقداری میلیثانیه باارزش را برای اجرای مجموعهآزمونها در حالت سریع ذخیره میکند.
-pprj- تعیین فایل پروژه
-Pfile- اعمال فایل rapatch و خروج (برای جزئیات بیشتر به doc/rapatch.md مراجعه کنید)
-rrarun2- تعیین نمایه rarun2 در dbg.profile برای استفاده هنگام اجرای برنامه جهت اشکالزدایی
-Rrarun2-directive- تعیین دستورالعملهای سفارشی rarun2 بدون نیاز به ساختن یک نمایه rarun2
-saddr- شروع جستوجو/پیمایش (seek) از این آدرس
-S- فعالسازی حالت محیط ایزوله/قرنطینه (معادل -e cfg.sandbox=true)
-t- دریافت اطلاعات باینری و تحلیل فایل باینری در یک ریسه (thread) پسزمینه
-T- صرفنظر از محاسبه درهمسازهای (hashes) فایل
-u- تنظیم bin.filter=false برای بارگذاری اطلاعات rbin بدون فیلتر کردن نامها
-v- نمایش اطلاعات نسخه و خروج (از -qv برای دریافت تنها شماره نسخه استفاده کنید)
-V- نمایش نسخه کتابخانههای radare2 (در صورت استفاده از -j با قالب JSON چاپ میشود)
-w- باز کردن در حالت نوشتن (write mode)
-h- نمایش پیام راهنما
-H[variable]- نمایش راهنمای فایلها و متغیرهای محیطی، یا چاپ متغیر انتخابشده
-x- باز کردن نگاشت فایل بدون مجوزهای اجرایی
-X- معادل -e bin.usextr=false، عدم استفاده از افزونههای استخراج، کاربردی برای dyldcache
پوسته (SHELL)
برای دریافت راهنما عبارت '?' را وارد کنید
حالت دیداری (VISUAL)
برای ورود به حالت دیداری از دستور 'V' استفاده کنید. سپس برای راهنمایی کلید '?' را فشار دهید
دیباگر (DEBUGGER)
در r2 دستورهای اشکالزدایی تحت دستور 'd' پیادهسازی شدهاند. برای راهنمایی 'd?' را وارد کنید
افزودههای کاربردی دیباگر عبارتند از:
dts+- شروع ضبط وضعیت نشست اشکالزدایی بازگشتپذیر (reversible debugger).
dtsc[label]- ایجاد یک نقطه بازرسی (checkpoint) از وضعیت فعال فعلی. نقاط بازرسی دارای یک شناسه پایدار بوده و میتوانند از نقطه بازرسی جاری منشعب شوند.
dtsrid- بازیابی یک نقطه بازرسی بر اساس شناسه (id) و ادامه از همان شاخه.
dtsdid- حذف یک نقطه بازرسی برگ (leaf) غیرجاری.
dtstdir /dtsfdir- ذخیره و بارگذاری نشست اشکالزدایی جاری، شامل شناسههای نقطه بازرسی و پیوندهای والد.
dtswid fd hex /dtswcid [fd /dtswj]- قراردادن بایتهای بازپخش در صف یک توصیفکننده فایل (file descriptor) در نقطه بازرسی، پاکسازی بایتهای صف، و بررسی وضعیت بازپخش در قالب JSON.
محیط (ENVIRONMENT)
R2_ARGS اجرای radare2
با
آرگومانهای
تعریفشده
در
متغیرهای
محیطی و
نادیدهگرفتن
آرگومانهای
خط فرمان
R2_IGNVER بارگذاری
افزونهها
با
نادیدهگرفتن
نسخه
مشخصشده.
(با احتیاط
استفاده
شود)
R2_DEBUG در صورت
تعریف،
نمایش
پیامهای
خطا و
سیگنال کرش
R2_DEBUG_ASSERT=1 تنظیم یک
نقطه توقف
هنگام
رسیدن به assert
R2_MAGICPATH
/Users/pancake/.local/share/radare2/share/radare2/4.5.0-git/magic
R2_NOPLUGINS عدم
بارگذاری
افزونههای
اشتراکی r2
R2_PLUGINS_ORDER ترتیب
بارگذاری
افزونه: i=internal،
e=env، h=home، s=system، c=config؛
پیشفرض=icehs؛
کاراکتر ?
راهنما را
نمایش
میدهد
R2_RCFILE ~/.radare2rc
(ترجیحات
کاربر،
اسکریپت
دستهای)
R2_RDATAHOME /usr/local FILE
مسیر فایل
کاری جاری.
همچنین ببینید (SEE ALSO)
r2r(1), rahash2(1), rafind2(1), rabin2(1), radiff2(1), rasm2(1), rax2(1), ravc2(1), ragg2(1), rarun2(1),
نویسندگان (AUTHORS)
pancake <pancake@nopcode.org>
| May 20, 2025 |