| RABIN2(1) | General Commands Manual | RABIN2(1) |
نام (NAME)
rabin2 —
استخراجکننده
اطلاعات
فایلهای
باینری
خلاصه دستور (SYNOPSIS)
rabin2
[-AcdeEghHiIjJlLMpqQrRsStuVvwxZ]
[-a arch]
[-b bits]
[-B addr]
[-C fmt:C:[D]]
[-D lang sym|-]
[-f subbin]
[-F binfmt]
[-k query]
[-K algo]
[-m addr]
[-n str]
[-N minlen:maxlen]
[-o str]
[-O binop]
[-X fmt file ...]
[-@ addr]
file
توضیحات (DESCRIPTION)
یک ابزار استخراج اطلاعات فایلهای باینری با پشتیبانی از قالبهای ELF، PE، MZ و Mach-O، که جزئیاتی درباره سرآیندها، بخشها، نمادها، واردات، صادرات و دادههای اشکالزدایی ارائه میدهد.
بیشتر گزینهها از طریق دستور 'i' در radare2 نیز در دسترس هستند (برای راهنمایی عبارت 'i?' را وارد کنید).
-@addr- نمایش بخش، نماد یا واردات در نشانی دادهشده
-A- فهرست کردن زیرباینریها و جفتهای معماری-بیت مرتبط با آنها
-aarch- تنظیم معماری (x86، arm، .. یا <arch>_<bits>)
-bbits- تنظیم تعداد بیتها (32، 64، ...)
-Baddr- بازنویسی نشانی پایه (برای باینریهای مستقل از نشانی)
-c- فهرست کردن کلاسها
-cc- فهرست کردن کلاسها در قالب فایل سرآیند
-C[fmt:C[:D]]- ایجاد [elf,mach0,pe] با جفتهای هگز کد و داده (به -a مراجعه کنید)
-d- نمایش اطلاعات اشکالزدایی/dwarf
-Dlang symbolname|-- بازگردانی نام نماد (Demangle) (یا - برای خواندن از stdin) برای زبان lang (مانند cxx، ibmxl، swift، java، msvc، ..)
-e- نقطه ورود برنامه (entrypoint)
-ee- نقاط ورود سازنده/ویرانکننده (Constructor/destructor)
-E- نمادهای قابل صدور بهصورت سراسری
-fsubbin- انتخاب معماری زیرباینری؛ مناسب برای باینریهای fat-mach0
-Fbinfmt- اجبار به استفاده از آن افزونه bin (نادیده گرفتن بررسی سرآیند)
-g- مشابه -SMZIHVResizcld -SS -SSS -ee (نمایش تمام اطلاعات)
-Gaddr- نشانی بارگذاری . نشانی به سرآیند
-h- نمایش این پیام راهنما
-H- فیلدهای سرآیند
-I- اطلاعات باینری
-i- واردات (نمادهای واردشده از کتابخانهها)
-j- خروجی در قالب json
-Jvar- نمایش متغیر محیطی
-kquery- اجرای پرسوجوی SDB روی فایل بارگذاریشده؛ برای مثال: '*'
-Kalgo- محاسبه چهکسامهای بخشها (md5، sha1، ..)
-l- فهرست کردن کتابخانههای پیوند خورده به باینری
-Lplugin- فهرست کردن افزونههای bin پشتیبانیشده یا جزئیات افزونه
-maddr- نمایش خط کد منبع در نشانی addr
-M- اصلی (نمایش نشانی نماد main)
-nstr- نمایش بخش، نماد یا واردات با نام str
-Nminlen:maxlen- اجبار حداقل:حداکثر تعداد نویسهها در هر رشته (به -z و -zz مراجعه کنید)
-ostr- فایل خروجی یا دایرکتوری استخراج برای عملیات نوشتن
-Obinop- انجام
عملیات
باینری روی
فایل
باینری هدف
(تخلیه،
تغییر
اندازه،
تغییر
بخشها، ...).
برای
اطلاعات
بیشتر از -O help
استفاده
کنید:
e/0x8048000 تغییر نقطه ورود d/s/1024 تخلیه نمادها d/S/.text تخلیه بخش r/.data/1024 تغییر اندازه بخش R حذف RPATH a/l/libfoo.dylib افزودن کتابخانه p/.data/rwx تغییر مجوزهای بخش c نمایش دادههای Codesign C نمایش اختیارات LDID
-p- همیشه نشانیهای فیزیکی را نشان بده
-P- نمایش اطلاعات اشکالزدایی/pdb
-PP- بارگیری فایل pdb برای باینری
-q- حالت کمگو، نمایش دادههای کمتر
-qq- نمایش اطلاعات کمتر (برای مثال بدون addr/size برای -z)
-Q- نمایش نشانی بارگذاری استفادهشده توسط dlopen (کتابخانههای بدون aslr)
-r- خروجی با ساختار دستورات Radare
-R- بازنشانیها (Relocations)
-s- نمادها (Symbols)
-S- بخشها (Sections)
-SS- قطعهها (Segments)
-SSS- نگاشت بخشها به قطعهها
-t- نمایش درهمسازهای فایل
-T- نمایش امضای فایل، گواهیها و جزئیات امضا
-u- منابع (Resources)
-v- نمایش نسخه و خروج
-V- نمایش اطلاعات نسخه باینری
-w- نمایش بلوکهای try/catch
-x- استخراج
زیرباینریهای
موجود در
فایل (برای
مثال،
معماریهای
درون یک
باینری FAT Mach-O).
ترکیب با
-S,-SS, یا-uبرای استخراج بخشها، قطعهها، یا منابع خام به جای آن. بنابراین،-xSبخشها،-xSSقطعهها، و-xuمنابع را استخراج میکند. استخراج منابع میتواند با استخراج بخش یا قطعه ترکیب شود. نام فایلهای بخش، قطعه و منبع شامل نوع، نام یا گونه تصحیحشده، و نمایه آنها است؛ فایلهای موجود هرگز رونویسی نمیشوند. از-odir برای انتخاب دایرکتوری خروجی استفاده کنید. بدون آن، بخشها، قطعهها و منابع به ترتیب در مسیرهای <file>.sections, <file>.segments, و <file>.resources نوشته میشوند. زیرباینریها دایرکتوری سنتی <file>.fat را حفظ میکنند. -Xformat file ...- بستهبندی فایلهای ارائهشده در قالب fat یا zip
-z- رشتهها (از بخش داده)
-Z- حدس زدن اندازه برنامه باینری
-zz- نمایش رشتهها از فایلهای باینری خام
-zzz- تخلیه رشتههای خام در stdout (برای فایلهای بسیار حجیم)
محیط (ENVIRONMENT)
R2_NOPLUGINS- مشابه r2 -N؛ افزونههای اشتراکی را بارگذاری نمیکند
R2_PLUGINS_ORDER- ترتیب بارگذاری افزونهها: i=internal، e=env، h=home، s=system؛ پیشفرض=iehs؛ علامت ? راهنما را نمایش میدهد
RABIN2_ARGS- نادیده گرفتن آرگومانهای خط فرمان و استفاده از این مقادیر به جای آن
RABIN2_CHARSET- تنظیم مجموعه نویسه (charset) پیشفرض برای رشتههای -z
RABIN2_DEBASE64- مشابه r2 -e bin.str.debase64 - تلاش برای رمزگشایی تمام رشتهها به صورت base64 در صورت امکان
RABIN2_DEMANGLE- مشابه r2 -e bin.demangle - بازگردانی نام نمادها (demangle)
RABIN2_DEMANGLE_CMD- مشابه r2 -e bin.demangle.cmd - تلاش برای پاکسازی موارد مثبت کاذب
RABIN2_DEMANGLE_TRYLIB- مشابه r2 -e bin.demangle.trylib=<bool> - بارگذاری کتابخانههای Swift برای demangle (پیشفرض: false)
RABIN2_FILTER- مشابه r2 -e bin.filter=<bool> - مقدار false برای عدم تغییر نام نمادها/بخشهای تکراری (پیشفرض: true)
RABIN2_LANG- مشابه r2 -e bin.lang - فرض کردن زبان lang برای demangling
RABIN2_MACHO_NOFUNCSTARTS- در صورت تنظیم، اطلاعات FUNCSTART نادیده گرفته میشود
RABIN2_MACHO_NOSWIFT- جلوگیری از تجزیه فرادادههای swift
RABIN2_MACHO_SKIPFIXUPS- عدم تجزیه chained fixups در mach-o
RABIN2_MAXSTRBUF- مشابه r2 -e bin.str.maxbuf - تعیین بیشینه اندازه بافر
RABIN2_PDBSERVER- مشابه r2 -e pdb.server - استفاده از سرور PDB جایگزین
RABIN2_PREFIX- مشابه r2 -e bin.prefix - افزودن پیشوند به نمادها/بخشها/بازنشانیها با یک رشته مشخص
RABIN2_RESRAW- مشابه r2 -e bin.resraw=true - استخراج منابع بدون رمزگشایی محتوای آنها
RABIN2_STRFILTER- مشابه r2 -e bin.str.filter
RABIN2_STRPURGE- مشابه r2 -e bin.str.purge - تلاش برای پاکسازی موارد مثبت کاذب
RABIN2_SYMSTORE- مشابه r2 -e pdb.symstore - مسیر به مخزن نماد downstream
RABIN2_VERBOSE- مشابه r2 -e bin.verbose=true - نمایش پیامهای اشکالزداییِ تجزیهکننده
مثالها (EXAMPLES)
فهرست کردن نمادهای یک برنامه
$ rabin2 -s a.out
دریافت آفست نماد
$ rabin2 -n _main a.out
دریافت نقطه ورود برنامه
$ rabin2 -e a.out
بارگذاری نمادها و واردات از طریق radare2
$ r2 -n /bin/ls
[0x00000000]> .!rabin2 -prsi $FILE
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
نوشتهشده توسط pancake <pancake@nopcode.org>.
| July 14, 2026 |