.Dd Jul 10, 2025 .Dt RADIFF2 1 .Nm radiff2 .Nd ابزار مقایسهٔ باینری .Sh "خلاصه دستور (SYNOPSIS)" .Nm radiff2 .Op Fl abcCdDehiJjlmnoOprqsStuUvVxXzZ .Op Fl A Op A .Op Fl B Ar addr .Op Fl g Ar sym .Op Fl m Ar mode .Op Fl o Ar offset .Op Fl l Ar length .Op Fl t Ar % .Op Fl S Ar name .Ar file1 file2 .Sh "توضیحات (DESCRIPTION)" ابزاری برای مقایسه (diff) کد و داده‌های باینری در مجموعهٔ Radare2، با پشتیبانی از مشخص کردن معماری و اندازهٔ بیت‌ها (bits)، مقایسهٔ تفاضلی (delta diffing) و مقایسه‌های مبتنی بر گراف. .Pp این ابزار از طیف گسترده‌ای از قالب‌ها و قابلیت‌ها، از جمله تعیین معماری و اندازهٔ بیت‌ها، مقایسهٔ تفاضلی، مقایسهٔ گراف و موارد دیگر پشتیبانی می‌کند. .Sh "گزینه‌ها (OPTIONS)" .Bl -tag -width Fl .It Fl a Ar arch مشخص کردن پلاگین معماری مورد استفاده (مانند x86، arm و غیره). .It Fl A Op A اجرای aaa یا aaaa پس از بارگذاری هر باینری (گزینهٔ \-C را ببینید). .It Fl b Ar bits مشخص کردن اندازهٔ ثبات‌ها برای معماری (16 (thumb)، 32، 64 و غیره). .It Fl B Ar addr تعریف آدرس پایه (base address) برای افزودن به آفست‌ها هنگام فهرست کردن. .It Fl c Ar cmd اجرای یک دستور r2 روی هر نمونهٔ RCore ایجاد شده. .It Fl C مقایسهٔ گرافی کد (Graphdiff) (ستون‌ها: off-A، match-ratio، off-B) (گزینهٔ \-A را ببینید). .It Fl d استفاده از مقایسهٔ تفاضلی (delta diffing). .It Fl D نمایش دیس‌اسمبلی (disasm) به جای جفت‌های هگز (hexpairs). .It Fl e Ar k=v تنظیم مقدار متغیر پیکربندی eval برای تمام نمونه‌های RCore. .It Fl f Ar format انتخاب قالب خروجی (برای جزئیات، \-f help را ببینید). .It Fl g Ar sym مقایسهٔ گرافی [sym] یا توابع در [off1,off2]. .It Fl i Ar type مقایسهٔ اطلاعات باینری (imports، exports، نمادها، بخش‌ها و غیره). برای جزئیات، \-i help را ببینید. .It Fl j خروجی در قالب JSON. .It Fl l Ar len مشخص کردن آفست نهایی (طول) برای مقایسه؛ می‌توان از قالب A:B برای تعیین طول‌های متفاوت برای هر فایل استفاده کرد. .It Fl m Ar mode انتخاب حالت خروجی گراف (aditsjJ). برای جزئیات، \-m help را ببینید. .It Fl n شمارش تعداد تغییرات. .It Fl o Ar offset مشخص کردن آفست اولیه برای مقایسه؛ می‌توان از قالب A:B برای تعیین آفست‌های متفاوت برای هر فایل استفاده کرد. .It Fl O مقایسهٔ کد تنها با بایت‌های آپ‌کد (opcode). .It Fl p استفاده از آدرس‌دهی فیزیکی (io.va=false) (فقط برای radiff2 \-AC). .It Fl q حالت بی‌صدا (غیرفعال‌سازی رنگ‌ها، کاهش خروجی). .It Fl r خروجی در قالب دستورهای radare. .It Fl s محاسبهٔ فاصلهٔ ویرایشی (بدون جایگزینی، با الگوریتم مقایسهٔ Eugene W. Myers با پیچیدگی O(ND)). .It Fl ss محاسبهٔ فاصلهٔ ویرایشی لوون‌اشتاین (Levenshtein) (جایگزینی مجاز است، با پیچیدگی O(N^2)). .It Fl S Ar name مرتب‌سازی مقایسهٔ کد بر اساس (name، namelen، addr، size، type، dist) (فقط برای \-C یا \-g). .It Fl t Ar % تنظیم آستانه (threshold) برای مقایسهٔ کد (پیش‌فرض 70% است). .It Fl T تحلیل فایل‌ها در ریسه‌ها (threads) (آزمایشی، ۳۰٪ سریع‌تر اما ناپایدار و مستعد فروپاشی). .It Fl u خروجی یکپارچه (Unified) به صورت (\-\-\-+++). .It Fl U خروجی یکپارچه (Unified) با استفاده از دستور \(aqdiff\(aq سیستم. .It Fl v نمایش اطلاعات نگارش. .It Fl V حالت پرگو با جزئیات بیشتر (در حال حاضر فقط برای \-s). .It Fl x نمایش مقایسه در قالب هگز‌دامپ دو ستونی. .TP .It Fl X استفاده از قالب xpatch برای خروجی مقایسه. .El .Sh "محیط (ENVIRONMENT)" .Pp هیچ متغیر محیطی استفاده نمی‌شود. .Sh "قالب‌های خروجی گراف (-m [mode]) (GRAPH OUTPUT FORMATS)" .Bl -tag -width Fl .It Fl a هنر اسکی (ASCII art) (پیش‌فرض). .It Fl s دستورهای r2. .It Fl d قالب دات گراف‌ویز (Graphviz dot). .It Fl g زبان مدل‌سازی گراف (GML). .It Fl j قالب JSON. .It Fl J قالب JSON به همراه دیس‌اسمبلی. .It Fl k کلید\-مقدار sdb. .It Fl t هنر اسکی فشرده (Tiny ASCII art). .It Fl i هنر اسکی تعاملی (Interactive ASCII art). .El .Sh "مثال‌های کاربردی (USAGE EXAMPLES)" .Bl -tag -width Fl .It مقایسهٔ دو باینری $ radiff2 bin1 bin2 .It استفاده از مقایسهٔ گرافی برای مقایسهٔ توابع بر اساس نام $ radiff2 -g main bin1 bin2 .It شمارش تعداد تغییرات میان دو باینری $ radiff2 -n bin1 bin2 .It نمایش خروجی مقایسه در قالب یکپارچه (unified) $ radiff2 -u bin1 bin2 .It مقایسهٔ آپ‌کدهای دو تابع $ radiff2 -O bin1 bin2 .It مقایسهٔ بخش‌های خاصی از باینری‌ها با آفست‌های سفارشی $ radiff2 -o 0x1000 bin1 bin2 .It مقایسهٔ بخش‌های متفاوت با آفست‌های مختلف $ radiff2 -o 0x1000:0x2000 bin1 bin2 .It مقایسهٔ طول‌های مشخص از آفست‌های تعیین‌شده $ radiff2 -o 0x1000 -l 0x500 bin1 bin2 .El .Sh "دستورهای رادار۲ (RADARE2 COMMANDS)" دستور \(aqc\(aq در r2 برای عملیات گوناگون مقایسه در داده‌های درون یک فایل استفاده می‌شود. در اینجا چند نمونه از کاربرد آن آمده است: .Bl -tag -width Fl .It مقایسهٔ یک رشتهٔ ساده حاوی نویسه‌های گریز (escaped) c "string to compare" .It مقایسهٔ بایت در آدرسی مشخص با آفست کنونی c1 0x100 .It مقایسهٔ بایت‌هایی به اندازهٔ یک بلوک از آفست کنونی با آفست 0x100 cc 0x100 .It مقایسهٔ یکپارچهٔ دیس‌اسمبلی از آفست جاری و آدرس ارائه‌شده cud 0x200 @ 0x100 .It مقایسهٔ هگز‌دامپ‌های حافظه در قالب مقایسهٔ یکپارچه cu 0x100 @ 0x200 .El برای جزئیات بیشتر در خصوص کاربرد دستور \(aqc\(aq، به بخش راهنمای \(lqc[?dfx] [argument]\(rq مراجعه کنید. .Sh "همچنین ببینید (SEE ALSO)" .Pp .Xr radare2 1 .Sh "وبگاه (WWW)" .Pp https://www.radare.org .Sh "نویسنده (AUTHOR)" .Pp pancake