| RASM2(1) | General Commands Manual | RASM2(1) |
نام (NAME)
rasm2 —
ابزار
اسمبلر و
دیزاسمبلر
Radare2
خلاصه دستور (SYNOPSIS)
rasm2
[-ACdDehHjLvwrNqxp] [-a
arch] [-b
bits] [-c
cpu] [-F
parser] [-k
kernel] [-o
ofile] [-s
addr] [-@
addr] [-S
syntax] [-i
len] [-l
len] [code|hex|-]
توضیحات (DESCRIPTION)
کد یا رشتههای جفتهگز (hexpair) را برای چندین معماری و قالبهای نگارشی (syntax) اسمبل و دیزاسمبل میکند.
-aarch- تنظیم پلاگین معماری
-A- نمایش اطلاعات تحلیل رشتهٔ جفتهگز دادهشده
-bbits- تنظیم بیتهای معماری (8, 16, 32, 64)
-B- ورودی/خروجی باینری (-l برای ورودی باینری الزامی است)
-ccpu- انتخاب پردازندهٔ خاص (وابسته به معماری در -a)
-C- خروجی در قالب C
-d- دیزاسمبل کردن بایتهای جفتهگز. rasm2 -d 9090
-D- دیزاسمبل کردن همراه با نمایش جفتهگز و آپکد (opcode)
-e- استفاده از big endian بهجای little endian
-E- خروجی دستورالعملهای دیزاسمبلشده در قالب ESIL
-ffile- خواندن دادهها از فایل بهجای آرگومان ورودی
-Fparser- مشخص کردن پلاگین تجزیه برای استفاده (pseudo)
-h- نمایش پیام راهنمای استفاده
-hh- نمایش پیام راهنمای جامع شامل دستورالعملهای اسمبلر پشتیبانیشده
-H[var]- نمایش متغیر
-ilen- نادیدهگرفتن/رد کردن N بایت از ابتدای بافر ورودی
-j- خروجی در قالب json
-kkernel- انتخاب سیستمعامل (linux, windows, darwin, android, ios, ...)
-llen- طول ورودی/خروجی
-L[name]- فهرست کردن پلاگینهای RArch: (a=asm، d=disasm، e=esil، p=parse)
-LL[name]- فهرست کردن پلاگینهای تجزیهٔ RAsm
-N- عدم بارگذاری هیچ پلاگینی، مشابه R2_NOPLUGINS=1 یا r2 -N
-oofile- خروجی به فایل، برای مثال 'rasm2 -Bf a.asm'
-p- اجرای SPP روی ورودی برای اسمبل
-q- خروجی بیصدا (کاربردی برای -L, -v, ...)
-r- نمایش خروجی در قالب اسکریپت r2
-saddr- تعیین آدرس آغاز/پیمایش اولیه (پیشفرض 0)
-@addr- نام مستعار برای -s
-Ssyntax- انتخاب سینتکس خروجی (intel, att, masm, ...)
-v- نمایش اطلاعات نسخه
-w- توصیف آپکد (what's op)
-x- استفاده از dwordهای هگزادسیمال بهجای جفتهگز در خروجی اسمبلر
محیط (ENVIRONMENT)
R2_NOPLUGINS- عدم بارگذاری پلاگینهای اشتراکی (افزایش سرعت بارگذاری)
R2_PLUGINS_ORDER- ترتیب بارگذاری پلاگینها: i=internal, e=env, h=home, s=system؛ پیشفرض=iehs؛ مقدار ? راهنما را چاپ میکند
R2_LOG_LEVEL- تغییر سطح گزارشگیری (log level)
R2_DEBUG- در صورت تعریف، پیامهای خطا و سیگنال خرابی نمایش داده میشوند
R2_DEBUG_ASSERT- فعالسازی ارزیابیهای زمان اجرا (assertions) برای اشکالزدایی
RASM2_ARCH- مشابه rasm2 -a
RASM2_BITS- مشابه rasm2 -b
دستورالعملها (DIRECTIVES)
فهرست کردن دستورالعملهای اسمبلر و پیشپردازندهٔ پشتیبانیشده با:
$ rasm2 -hh
مثالها (EXAMPLES)
اسمبل کردن آپکد:
$ rasm2 -a x86 -b 32 'mov eax, 33'
دیزاسمبل کردن آپکد:
$ rasm2 -d 90
نمایش تمامی معماریهای پشتیبانیشده:
$ rasm2 -L
اسمبل کردن با سینتکس مشخص:
$ rasm2 -a x86 -b 32 -S att 'mov eax, 33'
خروجی در قالب JSON:
$ rasm2 -j -a x86 -b 32 'mov eax, 33'
استفاده از big endian:
$ rasm2 -e -a arm -b 32 'add r0, r0, r1'
دیزاسمبل کردن و نمایش خروجی ESIL:
$ rasm2 -d -E 90
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
pancake <pancake@nopcode.org>
| July 10, 2025 |