رادار۲

رادار ۲ (Radare 2) (همچنین به عنوان R2 شناخته می‌شود) یک چارچوب کامل برای مهندسی معکوس و تجزیه و تحلیل دوتایی است؛ متشکل از مجموعه ای از امکانات کوچک است که می‌تواند با هم یا به‌طور مستقل از خط فرمان استفاده شود. ساخته شده در اطراف دیس‌اسمبلر برای نرم‌افزارهای کامپیوتری که کد منبع زبان مونتاژ را از کد ماشین قابل اجرا تولید می‌کند، آن از انواع فرمت‌های اجرایی برای پردازنده‌های مختلف و سیستم عامل‌ها پشتیبانی می‌کند.

تاریخچه 
این در فوریه ۲۰۰۶ با هدف ارائه یک رابط خط فرمان آزاد و ساده برای یک ویرایشگر هگزا دسیمال با پشتیبانی ۶۴ بیتی برای ایجاد جستجوها و بازیابی اطلاعات از هارد دیسک‌ها، برای اهداف قانونی ایجاد شد. از آن زمان، این پروژه با تغییر هدف به سمت ارائه یک چارچوب کامل برای تجزیه و تحلیل دوتایی‌ها در حالی که به اصول مختلف فلسفه یونیکس پایبند باشد، رشد کرده‌است.

در سال ۲۰۰۹ تصمیم این شد تا آن را به‌طور کامل بازنویسی کند، تا محدودیت‌های طراحی اولیه را از بین ببرد. از آن زمان، پروژه همچنان به رشد خود ادامه داد، و چندین توسعه دهنده محلی را جذب کرد.

در سال ۲۰۱۶، اولین کنفرانس R2con با جمع‌آوری بیش از ۱۰۰ شرکت کننده، شامل گفتگوهای مختلف در مورد ویژگی‌های مختلف و بهبود چارچوب در بارسلونا برگزار شد.

رادار۲ روی ارائه‌های چندگانه در چندین کنفرانس امنیتی برجسته مثل recon,[8] hack.lu,[9] 33c3,[3] و … تمرکز کرده‌است.

ویژگی‌ها و استفاده‌ها 
از آنجا که در ابتدا رابط کاربری گرافیکی (GUI) نداشت، آن دارای منحنی یادگیریی با شیب تند است. در اصل بر اساس ویرایشگر هگزا دسیمال ساخته شده‌است، در حال حاضر بسیاری از ابزارها و ویژگی‌ها، و همچنین اتصال به چندین زبان را داراست. در همین حال، در آن یک WebUI و رابط کاربری گرافیکی خارجی Qt به نام کاتر (Cutter) (که قبلاً نام آن Iaito بود) وجود دارد.

تجزیه و تحلیل استاتیک 
رادار۲(Radare2) قادر به جمع‌آوری و جداسازی بسیاری از چیزها می‌باشد، اما آن همچنین می‌تواند با استفاده از نمودارها تفاوت دوتایی را انجام دهد، اطلاعاتی مانند نمادهای انتقال و انواع دیگر داده را استخراج کند. در داخل، از پایگاه داده NoSQL به نام sdb استفاده می‌کند تا اطلاعات تجزیه و تحلیل را که می‌تواند توسط رادار۲ (radare2) نتیجه‌گیری شود یا توسط کاربر به صورت دستی اضافه می‌شود، پیگیری کند. از آنجایی که قادر به مقابله با نرم‌افزارهای ناقص است، از سوی محققان امنیتی نرم‌افزاری نیز برای اهداف تحلیلی استفاده شده‌است.

تجزیه و تحلیل پویا 
رادار۲ (Radare2) دارای یک خطایاب داخلی است که آن سطح پایین‌تر از خطایاب گنو (GDB)کلاسیک است. با این حال، همچنین می‌تواند خود را با خطایاب گنو یا حتی WineDBG برای خطایابی دوتایی‌های ویندوز در سایر سیستم‌ها متصل کند. حتی با استفاده از VMWare می توان آن را به عنوان یک خطایاب هسته ای استفاده کرد. همچنین پشتیبانی از پروتکل WinDBG وجود دارد.

بهره‌برداری از نرم‌افزار 
از آنجایی که دارای یک دیس‌اسمبلر (disassembler) و یک خطایاب سطح پایین است، رادار۲(radare2) می‌تواند برای توسعه دهندگان سوء استفاده مفید باشد. این نرم‌افزار دارای ویژگی‌هایی است که در توسعه سوء استفاده می‌شود، مانند موتور جستجوگر ابزار ROP و تشخیص رفع خستگی. به خاطر انعطاف‌پذیری نرم‌افزار و پشتیبانی از بسیاری از فرمت‌های فایل، اغلب برای ضبط تیم‌های پرچم و دیگر پرسنل امنیتی به کار گرفته می‌شود. رادار۲(radare2) همچنین می‌تواند در ایجاد شل کد با ابزار "ragg2"، شبیه به metasploit باشد.

برش (کاتر-cutter) 
کاتر (Cutter) اولین رابط کاربر گرافیکی (GUI) رسمی برای رادار۲(radare2) است. این هنوز یک پروژهٔ جوان است که عمدتاً بر کسانی است که به علت منحنی یادگیری هنوز کاربر رادار۲ (radare2) نیستند، زیرا آنها برنامه‌های CLI را دوست ندارند یا به دلیل سختی / بی‌ثباتی رادار۲(radare2). این، جانشین پروژه قبلاً شناخته شده Iaito است که پس از آنکه در گیت‌هاب (Github)، به صورت منبع باز شد از آن خیلی کم نگه داری شد. بعدها، یک نسخه از Iaito گرفته شد و به شدت بازنویسی شد، دوباره بر پایه C++ و Qt. این گزینه‌های طراحی باعث می‌شود که آن یک برنامه کاربردی چند سکویی برای لینوکس، مک او اس و همچنین ویندوز باشد. در همان زمان آن به کاتر (Cutter) تغییر نام پیدا کرد. هدف کاتر (Cutter) این است که قابلیت‌های گسترده‌ای از رادار۲ (radare2) را استخراج و به رابط کاربر گرافیکی (GUI) کاربر پسند و جدید تبدیل کند که می‌تواند با سایر چارچوب‌های اصلی تجزیه و تحلیل‌های استاتیک و پویا مانند Hex-Rays Interactive Disassembler یا BinaryNinja رقابت کند.

معماری / فرمت‌های پشتیبانی شده 

 فرمت‌های فایل شناخته شده
 COFF و مشتقات، از جمله Win32 / 64 / PE عمومی
 ELF و مشتقات
 ماخ (ماخ) و مشتقات
 بازی پسر و بازی پسر پیشرفته کارتریج
 MZ (MS-DOS)
 کلاس جاوا
 Lua 5.1 و بایوت کد پایتون
 dyld cache demo
 Dex (Dalvik Executable)
 قالب Xbox xbe
 برنامه‌نویسی Plan9
 ماشین مجازی WinRAR
 سیستم فایل مانند خانواده ext , ReiserFS , HFS +، NTFS، FAT، . .
 فرمت‌های فایل DWARF و PDB برای ذخیره اطلاعات اشکال زدایی اضافی
 دوتایی خام
 مجموعه آموزشی
 خانواده x86 اینتل
 ARM معماری
 اتل AVR سری
 Brainfuck
 Motorola 68k و H8
 ریکو 5A22
 MOS 6502
 ماشین مجازی PSOS Smartcard
 ماشین مجازی جاوا
 MIPS: mipsb / mipsl / mipsr / mipsrl / r5900b / r5900l
 PowerPC
 اسپارک خانواده
 سری TMS320Cxxx
 هسته RISC Argonaut
 اینتل ۵۱ سری: 8051 / 80251b / 80251s / 80930b / 80930s
 Zilog Z80
 CR16
 کمبریج سیلیکون رادیو (CSR)
 AndroidVM Dalvik
 DCPU-16
 بایستی EFI
 گیم بوی (مانند z80)
 بایاس کد جاوا
 مالبلگ
 MSIL / CIL
 نایس دوم
 فوق‌العاده
 Spc700
 Systemz
 TMS320
 V850
 فضای سفید
 XCore

منابع

برای مطالعهٔ بیشتر

پیوند به بیرون 
 
 وبلاگ Radare2
 مخزن GateRadare2
 مخزن برش گیت

اشکال‌یاب (برنامه‌نویسی)
دیس‌اسمبلرها
صفحات با ترجمه بازبینی‌نشده
نرم‌افزارهای آزاد چندسکویی
نرم‌افزارهای آزاد نوشته‌شده با سی
نرم‌افزارهای دارای پروانه ال‌جی‌پی‌ال