العودة إلى التحديثات
New releaseSep 7, 2026

radare2 v6.2.2

إطار عمل للهندسة العكسية ومجموعة أدوات لسطر الأوامر بأسلوب يونكس.

مشاركة

screenshot

Radare2: إطار عمل هندسة عكسية حر لمستخدمي يونكس

Latest packaged version Tests Status build tcc CII Best Practices Build Status Discord

فرع master الحالي في git هو 6.2.2، والإصدار القادم سيكون 6.2.4.

الوصف

r2 هو إعادة كتابة كاملة لـ radare. يوفر مجموعة من المكتبات والأدوات والإضافات لتسهيل مهام الهندسة العكسية. موزع تحت رخصة LGPLv3، على الرغم من أن كل إضافة قد يكون لها تراخيص مختلفة (انظر r2 -Lj للتفاصيل)

بدأ مشروع radare كمحرر سداسي عشري بسيط لسطر الأوامر يركز على التحقيق الجنائي الرقمي. اليوم، r2 هو أداة سطر أوامر منخفضة المستوى كاملة الميزات مع دعم للبرمجة النصية عبر مترجم JavaScript المدمج أو عبر r2pipe.

يمكن لـ r2 تحرير الملفات على الأقراص الصلبة المحلية، وعرض ذاكرة النواة، وتصحيح البرامج محليًا أو عبر خوادم gdb/windbg عن بُعد. دعم r2 الواسع للمعماريات يتيح لك تحليل ومحاكاة وتصحيح وتعديل وفك تجميع أي ملف ثنائي.

screenshot

التثبيت

قم بتنزيل أحدث الملفات الثنائية المُصدرة.

الطريقة الموصى بها لتثبيت 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 مفكك ترجمة يعتمد على الذكاء الاصطناعي
  • r2ai قم بتشغيل نموذج لغوي على localhost باستخدام Llama داخل r2!
  • r2dec: مفكك ترجمة يعتمد على r2 مكتوب بلغة JS، ويتم الوصول إليه باستخدام الأمر pdd
  • r2diaphora: محرك مقارنة الملفات الثنائية الخاص بـ Diaphora فوق radare2
  • r2flutter: تحليل لقطات Dart/Flutter AOT لتطبيقات Android و iOS
  • r2frida: إضافة frida io. ابدأ r2 باستخدام r2 frida://0 لاستخدامها
  • r2ghidra: مفكك ترجمة ghidra الأصلي المستقل الذي يمكن الوصول إليه باستخدام pdg
  • r4ghidra: استمتع بفرحة radare داخل Ghidra الخاص بك
  • r2papi واجهة برمجة تطبيقات عالية المستوى فوق r2pipe
  • r2pipe برمجة radare2 من أي لغة برمجة
  • r2poke التكامل مع GNU/Poke لقدرات تحليل ثنائي موسعة
  • goresym: استيراد رموز GoReSym كعلامات
  • r2yara تشغيل Yara من r2 أو استخدام بدائيات r2 من Yara
  • radius2: محرك تنفيذ رمزي سريع يعتمد على boolector و esil
  • r2sarif استيراد/توسيع/تصدير مستندات SARIF
  • r2hermes مفكك ومحلل لبايت كود React Native Hermes
  • 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 من خلال مشاهدة محاضرات youtube من r2con. هناك أيضًا العديد من منشورات المدونات وشرائح العرض وكتاب radare2 الرسمي، ولكن من الجيد دائمًا الانضمام إلى أي من الدردشات الرسمية وطرح أسئلتك أو ملاحظاتك هناك.

المجتمع

المنصات المدعومة

أنظمة التشغيل

ويندوز (منذ XP لـ x86/x64/arm64)، لينكس، Darwin، GNU/Hurd، أنظمة Apple {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, و N3DS ...

أنظمة الملفات

قم بتركيب عدة أنظمة ملفات في مساحة المستخدم مثل NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

حالة التغليف

  • Snap package
  • Termux package
  • Alpine Linux 3.23 package Alpine Linux 3.22 package
  • Arch package
  • Fedora 42 Fedora 41
  • Homebrew package MacPorts package
  • Haiku Ports Void Linux

الفئات