RASM2(1) General Commands Manual RASM2(1)

rasm2 — ابزار اسمبلر و دیزاسمبلر Radare2

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

کد یا رشته‌های جفت‌هگز (hexpair) را برای چندین معماری و قالب‌های نگارشی (syntax) اسمبل و دیزاسمبل می‌کند.

arch
تنظیم پلاگین معماری
نمایش اطلاعات تحلیل رشتهٔ جفت‌هگز داده‌شده
bits
تنظیم بیت‌های معماری (8, 16, 32, 64)
ورودی/خروجی باینری (-l برای ورودی باینری الزامی است)
cpu
انتخاب پردازندهٔ خاص (وابسته به معماری در -a)
خروجی در قالب C
دیزاسمبل کردن بایت‌های جفت‌هگز. rasm2 -d 9090
دیزاسمبل کردن همراه با نمایش جفت‌هگز و آپ‌کد (opcode)
استفاده از big endian به‌جای little endian
خروجی دستورالعمل‌های دیزاسمبل‌شده در قالب ESIL
file
خواندن داده‌ها از فایل به‌جای آرگومان ورودی
parser
مشخص کردن پلاگین تجزیه برای استفاده (pseudo)
نمایش پیام راهنمای استفاده
نمایش پیام راهنمای جامع شامل دستورالعمل‌های اسمبلر پشتیبانی‌شده
[var]
نمایش متغیر
len
نادیده‌گرفتن/رد کردن N بایت از ابتدای بافر ورودی
خروجی در قالب json
kernel
انتخاب سیستم‌عامل (linux, windows, darwin, android, ios, ...)
len
طول ورودی/خروجی
[name]
فهرست کردن پلاگین‌های RArch: (a=asm، d=disasm، e=esil، p=parse)
[name]
فهرست کردن پلاگین‌های تجزیهٔ RAsm
عدم بارگذاری هیچ پلاگینی، مشابه R2_NOPLUGINS=1 یا r2 -N
ofile
خروجی به فایل، برای مثال 'rasm2 -Bf a.asm'
اجرای SPP روی ورودی برای اسمبل
خروجی بی‌صدا (کاربردی برای -L, -v, ...)
نمایش خروجی در قالب اسکریپت r2
addr
تعیین آدرس آغاز/پیمایش اولیه (پیش‌فرض 0)
addr
نام مستعار برای -s
syntax
انتخاب سینتکس خروجی (intel, att, masm, ...)
نمایش اطلاعات نسخه
توصیف آپ‌کد (what's op)
استفاده از dwordهای هگزادسیمال به‌جای جفت‌هگز در خروجی اسمبلر

عدم بارگذاری پلاگین‌های اشتراکی (افزایش سرعت بارگذاری)
ترتیب بارگذاری پلاگین‌ها: i=internal, e=env, h=home, s=system؛ پیش‌فرض=iehs؛ مقدار ? راهنما را چاپ می‌کند
تغییر سطح گزارش‌گیری (log level)
در صورت تعریف، پیام‌های خطا و سیگنال خرابی نمایش داده می‌شوند
فعال‌سازی ارزیابی‌های زمان اجرا (assertions) برای اشکال‌زدایی
مشابه rasm2 -a
مشابه rasm2 -b

فهرست کردن دستورالعمل‌های اسمبلر و پیش‌پردازندهٔ پشتیبانی‌شده با:


$ rasm2 -hh

اسمبل کردن آپ‌کد:


$ 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

radare2(1)

pancake <pancake@nopcode.org>

July 10, 2025