
radare2 v6.2.2
إطار عمل للهندسة العكسية ومجموعة أدوات لسطر الأوامر بأسلوب يونكس.
Radare2: إطار عمل هندسة عكسية حر لمستخدمي يونكس
فرع master الحالي في git هو 6.2.2، والإصدار القادم سيكون 6.2.4.
الوصف
r2 هو إعادة كتابة كاملة لـ radare. يوفر مجموعة من المكتبات والأدوات والإضافات لتسهيل مهام الهندسة العكسية. موزع تحت رخصة LGPLv3، على الرغم من أن كل إضافة قد يكون لها تراخيص مختلفة (انظر r2 -Lj للتفاصيل)
بدأ مشروع radare كمحرر سداسي عشري بسيط لسطر الأوامر يركز على التحقيق الجنائي الرقمي. اليوم، r2 هو أداة سطر أوامر منخفضة المستوى كاملة الميزات مع دعم للبرمجة النصية عبر مترجم JavaScript المدمج أو عبر 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 مفكك ترجمة يعتمد على الذكاء الاصطناعي
- 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
- COMMUNITY.md: المشاركة المجتمعية وإرشادات عامة
- CONTRIBUTING.md: معلومات حول الإبلاغ عن المشكلات والمساهمة. انظر أيضًا المساهمة
- DEVELOPERS.md: إرشادات التطوير لـ r2
- SECURITY.md: تعليمات الإبلاغ عن الثغرات الأمنية
- USAGE.md: بعض أمثلة الأوامر
- INSTALL.md: تعليمات التثبيت باستخدام make أو meson
التوثيق
تعلم المزيد عن r2 من خلال مشاهدة محاضرات youtube من r2con. هناك أيضًا العديد من منشورات المدونات وشرائح العرض وكتاب radare2 الرسمي، ولكن من الجيد دائمًا الانضمام إلى أي من الدردشات الرسمية وطرح أسئلتك أو ملاحظاتك هناك.
المجتمع
- الموقع الإلكتروني: https://www.radare.org/
- Discord: الخادم
- Mastodon: @radareorg
- Telegram: قنوات الرئيسية والجانبية
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
المنصات المدعومة
أنظمة التشغيل
ويندوز (منذ 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

