RZ_BIN(1) General Commands Manual RZ_BIN(1)

rz-bin — استخراج‌کننده اطلاعات برنامه‌های باینری

rz-bin [-AcdeEghHiIjlLMqrRsSUvVxzZ] [-@ at] [-a arch] [-b bits] [-B addr] [-C F:C:D] [-f str] [-m addr] [-n str] [-N m:M] [-P pdb] [-o str] [-O str] [-k query] [-D lang symname] file

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

دستور rz-bin می‌تواند اطلاعات مفید را از فایل‌های اجرایی باینری مانند ELF، PE، Mach-O و غیره تحلیل و استخراج کند. این ابزار از چندین معماری مختلف از جمله x86، ARM، MIPS، PowerPC و غیره پشتیبانی می‌کند.

addr
نمایش بخش (section)، نماد (symbol) یا مورد وارد شده (import) در آدرس مشخص‌شده
فهرست کردن زیر-باینری‌ها و جفت‌های معماری-بیت (arch-bits) آن‌ها
arch
تنظیم معماری (x86، arm، .. یا <arch>_<bits>)
bits
تنظیم تعداد بیت‌ها (32، 64 ...)
addr
بازنویسی آدرس پایه (برای باینری‌های PIE)
فهرست کردن کلاس‌ها
فهرست کردن کلاس‌ها در قالب هدر
fmt:C:D
ایجاد [elf, mach0, pe] با جفت‌های هگزادسیمال Code و Data (گزینه -a را ببینید)
نمایش اطلاعات اشکال‌زدایی/dwarf
بارگذاری اطلاعات اشکال‌زدایی/dwarf از کارساز debuginfod
lang name
دی‌منگل کردن نام نماد (-D all برای bin.demangle=true)
نقطه ورود (Entrypoint)
نمادهای با قابلیت سراسری صادر شدن (Globally exportable)
str
انتخاب زیر-باینری با نام str
binfmt
اجبار به استفاده از آن افزونه bin (چشم‌پوشی از بررسی هدر)
مشابه با -SMZIHVResizcld -SS -SSS -ee (نمایش تمام اطلاعات)
addr
آدرس بارگذاری . آفست به هدر
نمایش پیام راهنمای استفاده
فیلدهای هدر
واردات (نمادهای وارد شده از کتابخانه‌ها)
اطلاعات باینری
خروجی در قالب JSON
sdb-query
اجرای پرس‌وجوی sdb؛ برای نمونه: '*'
algo
محاسبه چکسام‌ها (md5، sha1، ..)
کتابخانه‌های پیوند‌خورده (Linked libraries)
plugin
فهرست کردن افزونه‌های bin پشتیبانی‌شده یا جزئیات افزونه
addr
نمایش خط کد منبع در آدرس addr
اصلی (نمایش آدرس نماد main)
str
نمایش بخش، نماد یا import با نام str
min:max
اجبار به حداقل:حداکثر تعداد نویسه‌ها در هر رشته (گزینه‌های -z و -zz را ببینید)
str
فایل/پوشه خروجی برای عملیات‌های نوشتن (به‌طور پیش‌فرض out)
str
عملیات‌های نوشتن/استخراج (-O help)
نمایش آدرس‌های فیزیکی
نمایش اطلاعات اشکال‌زدایی/pdb
بارگیری فایل pdb برای باینری
حالت بی‌صدا، نمایش داده‌های کمتر
نمایش اطلاعات کمتر (برای نمونه عدم نمایش آفست/اندازه برای -z)
نمایش آدرس بارگذاری استفاده‌شده توسط dlopen (کتابخانه‌های بدون ASLR)
نمایش خروجی در قالب rizin
نمایش جابه‌جایی‌ها (relocations)
نمادها (Symbols)
بخش‌ها (Sections)
قطعه‌ها (Segments)
نگاشت بخش‌ها به قطعه‌ها
نمایش امضای فایل (signature)
پالایش‌نشده (عدم تغییر نام نمادها/بخش‌های تکراری)
منابع (Resources)
نمایش اطلاعات نسخه
نمایش اطلاعات نسخه باینری
نمایش بلوک‌های try/catch
استخراج باینری‌های موجود در فایل
fmt [f] ..
بسته‌بندی در قالب fat یا zip برای فایل‌ها و باینری‌های مشخص‌شده در فایل
fw file
محاسبه تمام کاندیداهای ممکن برای آدرس پایه در یک باینری سفت‌افزار (firmware)
نمایش رشته‌ها (از بخش داده یا data)
نمایش رشته‌ها (از رشته‌های خام موجود در باینری)
تخلیه رشته‌های خام در خروجی استاندارد (stdout) (برای فایل‌های حجیم)
تخمین اندازه برنامه باینری

RZ_BIN_CODESIGN_VERBOSE: پرجزئیات کردن نمایش امضاهای کد

RZ_BIN_DEBASE64: e bin.debase64 - تلاش برای رمزگشایی base64 همه رشته‌ها

RZ_BIN_DEBUGINFOD_URLS: e bin.dbginfo.debuginfod_urls - استفاده از کارساز debuginfod جایگزین

RZ_BIN_DEMANGLE: e bin.demangle - عدم دی‌منگل کردن نمادها

RZ_BIN_LANG: e bin.lang - در نظر گرفتن زبان مشخص برای دی‌منگل کردن

RZ_BIN_MAXSTRBUF: e bin.maxstrbuf - تعیین حداکثر اندازه بافر

RZ_BIN_PDBSERVER: e pdb.server - استفاده از کارساز PDB جایگزین

RZ_BIN_PREFIX: e bin.prefix - افزودن پیشوند مشخص به نمادها/بخش‌ها/جابه‌جایی‌ها

RZ_BIN_STRFILTER: e bin.str.filter - rizin -qc 'e bin.str.filter=??' -

RZ_BIN_STRPURGE: e bin.str.purge - تلاش برای پاکسازی موارد مثبت کاذب

RZ_BIN_SYMSTORE: e pdb.symstore - مسیر ذخیره‌سازی نمادها (symbol store) در پایین‌دست

RZ_CONFIG: فایل پیکربندی sdb

RZ_NOPLUGINS: عدم بارگذاری افزونه‌های اشتراکی (افزایش سرعت بارگذاری)

فهرست کردن نمادهای یک برنامه:

rz-bin -s a.out

دریافت آفست نماد:

rz-bin -n _main a.out

دریافت نقطه ورود:

rz-bin -e a.out

بارگذاری نمادها و موارد وارد شده از rizin:

rizin -n /bin/ls

[0x00000000]> .!rz-bin -prsi $FILE

rz-hash(1), rz-find(1), rizin(1), rz-diff(1), rz-asm(1), rz-ax(1), rz-gg(1), rz-run(1)

pancake <pancake@nopcode.org>

byteninjaa0

January 24, 2024