
إطار عمل للهندسة العكسية ومجموعة أدوات لسطر الأوامر بأسلوب يونكس.
<a href="https://radare.org/"><img border=0 src="https://assets.kitploit.com/production/public/readmes/3006/3a698148c5a0a1bc714cb3ac4439316f08cf2349b8cd75366bc1b9d2bf7f9c22.png" alt="screenshot" align="left" width="128px"></a>
## Radare2: إطار عمل عكسي حر لمحبي يونكس
[](https://github.com/radareorg/radare2/actions/workflows/ci.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/build.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/tcc.yml)
[](https://bestpractices.coreinfrastructure.org/projects/741) [](https://scan.coverity.com/projects/416) [](https://discord.gg/YBey7CR9jf)
فرع `master` الحالي في git هو `6.2.5`، والإصدار التالي سيكون `6.2.6`.
### الوصف
r2 هو إعادة كتابة كاملة لـ radare. يوفر مجموعة من المكتبات والأدوات
والإضافات لتسهيل مهام الهندسة العكسية. موزّع تحت رخصة LGPLv3، على الرغم من
أن كل إضافة قد تكون لها رخص مختلفة (راجع `r2 -Lj` للتفاصيل)
بدأ مشروع **radare** كمحرر سداسي عشري بسيط يعمل من سطر الأوامر
ويركز على التحليل الجنائي. اليوم، أصبح r2 أداة سطر أوامر كاملة الميزات
منخفضة المستوى مع دعم البرمجة النصية عبر مفسّر Javascript المدمج أو من خلال r2pipe.
يستطيع r2 تحرير الملفات على الأقراص الصلبة المحلية، وعرض ذاكرة النواة، وتصحيح البرامج
محليًا أو عبر خوادم gdb/windbg عن بُعد. يتيح الدعم الواسع للمعماريات في r2
تحليل أي ملف ثنائي ومحاكاته وتصحيحه وتعديله وتفكيكه.
<p align="center">
<a href="https://www.radare.org/"><img src="https://assets.kitploit.com/production/public/readmes/3006/c19b136adc5b00ffa9e295f2624beea0f7fb78e36cfa8081c31116b9a5723a85.png" alt="screenshot" align="center" border=0 width="600px"></a>
</p>
## التثبيت
نزّل آخر الملفات الثنائية [المُصدَرة](https://github.com/radareorg/radare2/releases).
الطريقة الموصى بها لتثبيت radare2 هي من مصدر مستودع Git:
```sh
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`](https://github.com/radareorg/radare2/blob/master/dist/nix/README.md).
### البناء من المصدر
* يمكن تثبيت r2 من `git` أو عبر `pip` باستخدام `r2env`.
* تتطلب عمليات البناء على Windows وجود meson و msvc أو mingw كمترجمات
* لإلغاء تثبيت البناء الحالي لـ r2 شغّل `make uninstall`
* لإلغاء تثبيت جميع عمليات تثبيت r2 على النظام نفّذ: `sudo make purge`
على Windows استخدم سكربتات .bat و msvc:
```bat
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](https://github.com/radareorg/iaito): الواجهة الرسومية الرسمية Qt
* [keystone](https://github.com/radareorg/radare2-extras/tree/master/keystone) تعليمات المُجمِّع باستخدام مكتبة Keystone
* [decai](https://github.com/radareorg/r2ai) مُفكِّك مبني على الذكاء الاصطناعي
* [r2ai](https://github.com/radareorg/r2ai) شغِّل نموذجاً لغوياً على localhost مع Llama داخل r2!
* [r2dec](https://github.com/wargio/r2dec-js): مُفكِّك مبني على r2 مكتوب بلغة JS، يُستدعى بالأمر `pdd`
* [r2diaphora](https://github.com/FernandoDoming/r2diaphora): محرك المقارنة الثنائية الخاص بـ [Diaphora](https://github.com/joxeankoret/diaphora) فوق radare2
* [r2flutter](https://github.com/trufae/r2flutter): تحليل لقطة Dart/Flutter AOT لتطبيقات Android و iOS
* [r2frida](https://github.com/nowsecure/r2frida): إضافة frida io. ابدأ r2 بـ `r2 frida://0` لاستخدامها
* [r2ghidra](https://github.com/radareorg/r2ghidra): مُفكِّك ghidra الأصلي المستقل الذي يمكن الوصول إليه بـ `pdg`
* [r4ghidra](https://github.com/radareorg/r4ghidra): اشعر بمتعة radare داخل Ghidra الخاص بك
* [r2papi](https://github.com/radareorg/radare2-r2papi) واجهة برمجية عالية المستوى فوق r2pipe
* [r2pipe](https://github.com/radareorg/radare2-r2pipe) برمج radare2 من أي لغة برمجة
* [r2poke](https://github.com/radareorg/radare2-extras/tree/master/r2poke) تكامل مع GNU/Poke لقدرات تحليل ثنائي موسّعة
* [goresym](https://github.com/hanemile/radare2-GoReSym): استيراد رمز GoReSym كأعلام
* [r2yara](https://github.com/radareorg/r2yara) شغِّل Yara من r2 أو استخدم أوليات r2 من Yara
* [radius2](https://github.com/radareorg/radius2): محرك تنفيذ رمزي سريع مبني على boolector و esil
* [r2sarif](https://github.com/radareorg/r2sarif) استيراد/توسيع/تصدير مستندات SARIF
* [r2hermes](https://github.com/radareorg/r2hermes) مُفكِّك ومحلِّل لـ React Native Hermes bytecode
* [r2renef](https://github.com/Ahmeth4n/r2renef) إضافة Renef IO لـ Radare2 - أجهزة Android الديناميكية
* [r2unity](https://github.com/radareorg/r2unity): افحص بيانات Unity IL2CPP الوصفية والملفات الثنائية الأصلية من radare2
* [warrp](https://github.com/radareorg/warrp) إضافة radare2 أصلية لتنسيق WARP الخاص بـ binary ninja
## الاستخدام
هذه هي الخطوات الأولى لاستخدام r2، اقرأ الكتاب أو ابحث عن دروس لمزيد من التفاصيل
```sh
$ 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](https://github.com/radareorg/radare2-pm).
```sh
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
```
## الموارد
* [الكتاب الرسمي](https://book.rada.re): اقرأ عن استخدام r2
* [COMMUNITY.md](https://github.com/radareorg/radare2/blob/master/COMMUNITY.md): المشاركة المجتمعية والإرشادات العامة
* [CONTRIBUTING.md](https://github.com/radareorg/radare2/blob/master/CONTRIBUTING.md): معلومات حول الإبلاغ عن المشكلات
والمساهمة. انظر أيضًا [المساهمة](#contributing)
* [DEVELOPERS.md](https://github.com/radareorg/radare2/blob/master/DEVELOPERS.md): إرشادات التطوير لـ r2
* [SECURITY.md](https://github.com/radareorg/radare2/blob/master/SECURITY.md): تعليمات الإبلاغ عن الثغرات الأمنية
* [USAGE.md](https://github.com/radareorg/radare2/blob/master/USAGE.md): بعض الأمثلة على الأوامر
* [INSTALL.md](https://github.com/radareorg/radare2/blob/master/INSTALL.md): تعليمات التثبيت باستخدام make أو meson
## التوثيق
تعرّف أكثر على r2 من خلال مشاهدة [محادثات يوتيوب](https://www.youtube.com/c/r2con) من [r2con](https://rada.re/con). هناك أيضًا العديد من المقالات والشرائح و[كتاب radare2 الرسمي](https://book.rada.re)، لكن من الجيد دائمًا الانضمام إلى أي من المحادثات الرسمية وطرح أسئلتك أو ملاحظاتك هناك.
## المجتمع
* الموقع الإلكتروني: [https://www.radare.org/](https://www.radare.org/)
* Discord: [الخادم](https://discord.gg/YBey7CR9jf)
* Mastodon: [@radareorg](https://infosec.exchange/@radareorg)
* Telegram: قنوات [الرئيسية](https://t.me/radare) و[الجانبية](https://t.me/radare_side)
* [irc.libera.chat](https://libera.chat): `#radare`، `#radare_side`
* [Matrix](https://matrix.to/#/#radare:matrix.org): `#radare:matrix.org`
# المنصات المدعومة
## أنظمة التشغيل
Windows (منذ XP لـ x86/x64/arm64)، Linux، Darwin، GNU/Hurd، أنظمة Apple {Mac,i,iPad,watch}OS،
Android، 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،
Apple Dyldcache، Kernelcache، MCLF trustlets، DEX، ART، Java class، صورة إقلاع Android، ملفات Plan9 التنفيذية، Amiga HUNK،
ZIMG، MBN/SBL bootloader، ELF coredump، MDMP (Windows minidump)، PDP11، XTAC، CGC، DotNet،
WASM (WebAssembly binary)، محاكي Commodore VICE، DOL، QNX، WAD، OFF، TIC-80،
GB/GBA، PSX، PRG (C64)، Apple Classic PEF، NDS، z64، و N3DS
...
## أنظمة الملفات
قم بتركيب (mount) عدة أنظمة ملفات في userland مثل NTFS، FAT، HFS+، EXT، APFS، BeosFS، BFS، MINIX، ReiserFS، SFS، ubifs، ufs، jfs، ISO9660، UDF، xfs
## حالة التغليف
* [](https://snapcraft.io/radare2)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)