
radare2 v6.2.0
إطار عمل للهندسة العكسية ومجموعة أدوات لسطر الأوامر بأسلوب يونكس.
Radare2: إطار عمل حر للهندسة العكسية لعشاق يونكس
فرع git الحالي master هو 6.2.0، والإصدار القادم سيكون 6.2.1.
الوصف
r2 هو إعادة كتابة كاملة لرادار. يوفر مجموعة من المكتبات والأدوات
والإضافات لتسهيل مهام الهندسة العكسية. موزّع تحت رخصة LGPLv3،
رغم أن لكل إضافة ترخيصها الخاص (انظر r2 -Lj للتفاصيل)
بدأ مشروع radare كمحرر سداسي عشري بسيط عبر سطر الأوامر موجّه للطب الشرعي الرقمي. اليوم، r2 هو أداة سطر أوامر منخفضة المستوى كاملة الميزات تدعم البرمجة النصية عبر مترجم جافاسكربت المدمج أو عبر r2pipe.
يمكن لـ r2 تحرير الملفات على الأقراص الصلبة المحلية، وعرض ذاكرة النواة، وتصحيح أخطاء البرامج محليًا أو عبر خوادم gdb/windbg البعيدة. يدعم r2 مجموعة واسعة من البنى مما يتيح لك تحليل أي ملف ثنائي ومحاكاته وتصحيحه وتعديله وفك تجميعه.
التثبيت
حمّل أحدث الملفات الثنائية المنشورة.
الطريقة الموصى بها لتثبيت radare2 هي من مصدر مستودع Git:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- نفّذ
sys/install.shللتثبيت الافتراضي عبر acr+make+symlink - تُدعم عمليات البناء عبر meson/ninja (يعمل muon/samu أيضًا) و make.
Nix
يوفر radare2 تغليف Nix تحت dist/nix.
البناء من المصدر
- يمكن تثبيت r2 من
gitأو عبرpipباستخدامr2env. - تتطلب عمليات البناء على ويندوز meson و msvc أو mingw كمترجمات
- لإلغاء تثبيت البناء الحالي لـ r2 نفّذ
make uninstall - لإلغاء تثبيت جميع تثبيتات النظام لـ r2 نفّذ:
sudo make purge
على ويندوز استخدم سكربتات .bat مع msvc:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
الإضافات الشائعة:
باستخدام أداة r2pm يمكنك تصفح وتثبيت العديد من الإضافات والأدوات التي تستخدم radare2.
- iaito: الواجهة الرسومية الرسمية بإطار Qt
- keystone تجميع التعليمات باستخدام مكتبة Keystone
- decai مفكك ترجمة (Decompiler) قائم على الذكاء الاصطناعي
- r2ai شغّل نموذج لغة محليًا على localhost باستخدام Llama داخل r2!
- r2dec: مفكك ترجمة مبني على r2 مكتوب بلغة JS، يُستخدم عبر الأمر
pdd - r2diaphora: محرك مقارنة الملفات الثنائية Diaphora فوق radare2
- r2flutter: تحليل لقطات AOT لتطبيقات Android وiOS بإطار Dart/Flutter
- r2frida: إضافة frida الخاصة بالإدخال/الإخراج. ابدأ r2 بالأمر
r2 frida://0لاستخدامها - r2ghidra: مفكك ترجمة ghidra الأصلي المستقل الذي يمكن الوصول إليه عبر
pdg - r4ghidra: استمتع بمتعة radare داخل Ghidra
- r2papi واجهة برمجية عالية المستوى فوق r2pipe
- r2pipe تحكم في radare2 برمجيًا من أي لغة برمجة
- r2poke تكامل مع GNU/Poke لقدرات موسّعة في تحليل الملفات الثنائية
- goresym: استيراد رموز GoReSym كـ flags
- r2yara شغّل Yara من r2 أو استخدم بدائيات r2 من Yara
- radius2: محرك تنفيذ رمزي سريع مبني على boolector و esil
- r2sarif استيراد/توسيع/تصدير مستندات SARIF
- r2hermes مفكك ومحلل لبايت كود Hermes الخاص بـ React Native
- r2renef إضافة Renef IO لـ Radare2 - أدوات ديناميكية لمنصة Android
- r2unity: فحص بيانات Unity IL2CPP والملفات الثنائية الأصلية من radare2
- warrp إضافة radare2 أصلية لصيغة WARP الخاصة بـ binary ninja
الاستخدام
هذه هي الخطوات الأولى لاستخدام r2، اقرأ الكتاب أو ابحث عن دروس تعليمية لمزيد من التفاصيل
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
العديد من الإضافات مضمّنة في r2 افتراضيًا. لكن يمكنك توسيع قدراته باستخدام مدير الحزم r2pm.
r2pm -s <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
الموارد
- الكتاب الرسمي: اقرأ عن استخدام r2
- COMMUNITY.md: المشاركة المجتمعية وإرشادات عامة مرنة
- CONTRIBUTING.md: معلومات حول الإبلاغ عن المشكلات والمساهمة. انظر أيضًا المساهمة
- DEVELOPERS.md: إرشادات التطوير الخاصة بـ r2
- SECURITY.md: تعليمات الإبلاغ عن الثغرات الأمنية
- USAGE.md: بعض الأوامر المثال
- INSTALL.md: تعليمات التثبيت باستخدام make أو meson
التوثيق
تعلّم المزيد عن r2 بمشاهدة محاضرات يوتيوب من r2con. هناك أيضًا العديد من المنشورات والعروض التقديمية وكتاب radare2 الرسمي، لكن من الجيد دائمًا الانضمام إلى أي من الدردشات الرسمية وطرح أسئلتك أو ملاحظاتك هناك.
المجتمع
- الموقع الإلكتروني: https://www.radare.org/
- ديسكورد: الخادم
- ماستدون: @radareorg
- تيليجرام: قناتا الرئيسية والجانبية
- irc.libera.chat:
#radare,#radare_side - ماتريكس:
#radare:matrix.org
المنصات المدعومة
أنظمة التشغيل
ويندوز (منذ XP لكل من x86/x64/arm64)، لينكس، داروين، GNU/Hurd، أنظمة آبل {Mac,i,iPad,watch}OS، أندرويد، Wasmer، أنظمة [Dragonfly, Net, Free, Open] BSD، Z/OS، QNX، SerenityOS، Solaris، AIX، Haiku، Vinix، FirefoxOS.
البنى (المعماريات)
i386, x86-64, Alpha, ARM, AVR, BPF, sBPF, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, PDP11, m680x, V850, CRIS, XAP (CSR), PIC, LM32, 8051, 6502, i4004, i8080, Propeller, EVM, OR1K Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, xcore, NIOS II, Java, Dalvik, Pickle, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c64x), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, lm32, MSIL, InfernoDis, UXN, Cosmac, PythonBytecode, Sharp sm5xx MCPus, FreeScale QIQa, MCORE, mcs96, RSP, SuperH-4, VAX, KVX, Am29000, LOONGARCH, JDH8, s390x, STM8.
صيغ الملفات
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, Pebble apps, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, Java class, Android boot image, Plan9 executables, Amiga HUNK, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet, WASM (WebAssembly binary), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, and N3DS ...
أنظمة الملفات
قم بتركيب عدة أنظمة ملفات في نطاق المستخدم مثل NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

