Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
r2frida — Radare2 وFrida أفضل معًا. | Kitploit
أدوات/GitHubGitHub/nowsecure/r2frida
أمان أندرويدالتحليل الثابتالتحليل الديناميكي (عزل)أمان iOSاختبار اختراق تطبيقات الجوالالهندسة العكسيةمصممي الأخطاءتحليل الأجهزة المحمولة الجنائياختبار الاختراقأمن الجوالتحليل الملفات الثنائيةالأفضل في أمان iOS #5
1.4k14081منذ 5 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الأفضل في اختبار اختراق تطبيقات الجوال #11
الأفضل في تحليل الأجهزة المحمولة الجنائي #6
الأفضل في أمن الجوال #11
الأفضل في الهندسة العكسية #19
GitHubnowsecure/r2frida

r2frida

Radare2 وFrida أفضل معًا.

عرض المستودع

r2frida

Radare2 وFrida معًا بشكل أفضل ci radare2

الوصف

إضافة (plugin) قائمة بذاتها لـ radare2 تُضمّن frida وتتيح فحص العمليات المحلية أو البعيدة (instrument) باستخدام أوامر r2 بدلًا من سكربتات Frida (على سبيل المثال لا الحصر).

يوفّر مشروع radare سلسلة أدوات كاملة للهندسة العكسية، وهو يُصان بنشاط ويوفّر وظائف جيدة الصيانة ويوسّع ميزاته بلغات برمجة وأدوات أخرى.

Frida هي مجموعة أدوات للفحص الديناميكي (dynamic instrumentation) تجعل من السهل فحص التعمّق في العمليات قيد التشغيل والتلاعب بها عبر حقن JavaScript الخاص بك، واختياريًا التواصل أيضًا مع سكربتاتك.

الميزات

  • تشغيل سكربتات Frida دون تعديل (استخدم الأمر :.)
  • تنفيذ مقتطفات برمجية بلغة C أو Javascript أو TypeScript في أي عملية
  • يمكنه الارتباط (attach) أو إنشاء (spawn) أو تشغيل (launch) في الأنظمة المحلية أو البعيدة
  • سرد الأقسام والرموز (symbols) والصادرات (exports) والبروتوكولات والفئات (classes) والطرق (methods)
  • البحث عن قيم في الذاكرة داخل الوكيل (agent) أو من المضيف (host)
  • استبدال تطبيقات الطرق (method implementations) أو إنشاء خطافات (hooks) بأوامر قصيرة
  • تحميل المكتبات والأُطر (frameworks) في العملية الهدف
  • دعم واجهات Dalvik وJava وObjC وSwift وC
  • التلاعب بوصفات الملفات (file descriptors) ومتغيرات البيئة
  • إرسال الإشارات (signals) إلى العملية، والمتابعة (continue)، ونقاط التوقف (breakpoints)
  • إضافة io الخاصة بـ r2frida هي أيضًا خلفية (backend) لنظام الملفات fs وdebug
  • أتمتة r2 وfrida باستخدام r2pipe
  • قراءة/كتابة ذاكرة العملية
  • استدعاء الدوال (functions) واستدعاءات النظام (syscalls) ومقتطفات الشيفرة الخام
  • الاتصال بـ frida-server عبر usb أو tcp/ip
  • تعداد التطبيقات والعمليات
  • تتبّع السجلات (registers) ومعاملات الدوال (arguments)
  • تم اختباره على x64 وarm32 وarm64 لأنظمة Linux وWindows وmacOS وiOS وAndroid
  • لا يتطلب تثبيت frida في المضيف (لا حاجة إلى frida-tools)
  • توسيع أوامر r2frida بإضافات (plugins) تعمل داخل الوكيل (agent)
  • تغيير أذونات الصفحات (page permissions)، وترقيع (patch) الشيفرة والبيانات
  • حلّ الرموز (symbols) بالاسم أو العنوان واستيرادها كأعلام (flags) إلى r2
  • تشغيل أوامر r2 في المضيف من الوكيل (agent)
  • استخدام واجهات r2 البرمجية (apis) وتشغيل أوامر r2 داخل العملية الهدف البعيدة.
  • نقاط توقف أصلية (native breakpoints) باستخدام واجهة :db
  • الوصول إلى أنظمة الملفات البعيدة باستخدام واجهة r_fs

التثبيت

الطريقة الموصى بها لتثبيت r2frida هي عبر r2pm:

$ r2pm -ci r2frida

ستُدعم قريبًا البنيات الثنائية التي لا تتطلب تجميعًا في r2pm وr2env. في هذه الأثناء، لا تتردد في تنزيل آخر البنيات من صفحة الإصدارات.

التجميع

المتطلبات التابعة

  • radare2
  • pkg-config (غير مطلوب على windows)
  • curl أو wget
  • make، gcc
  • npm، nodejs (ستُزال قريبًا)

في GNU/Debian ستحتاج إلى تثبيت الحزم التالية:

$ sudo apt install -y make gcc libzip-dev nodejs npm curl pkg-config git

التعليمات

$ git clone https://github.com/nowsecure/r2frida.git
$ cd r2frida
$ make
$ make user-install

Meson

$ meson setup build -Duser_install=true
$ ninja -C build
$ meson install -C build

الخيارات: -Dfrida_sdk=<dir>، -Dprecompiled_agent=<_agent.js>، -Dr2_plugdir=<dir>، -Dsession_debugger=false.

Windows

  • ثبّت meson وVisual Studio
  • فك ضغط أحدث إصدار zip من radare2 في الدليل الجذر لـ r2frida
  • أعد تسميته إلى radare2 (بدلاً من radare2-x.y.z)
  • لجعل مترجم VS متاحًا في PATH (preconfigure.bat)
  • شغّل configure.bat ثم make.bat

الاستخدام

للاختبار، استخدم r2 frida://0، إذ إن الارتباط بـ pid0 في frida جلسة خاصة تعمل محليًا. يمكنك الآن تشغيل الأمر :? للحصول على قائمة الأوامر المتاحة.

$ r2 'frida://?'
r2 frida://[action]/[link]/[device]/[target]
* action = list | apps | attach | spawn | launch
* link   = local | usb | remote host:port
* device = '' | host:port | device-id
* target = pid | appname | process-name | program-in-path | abspath
Local:
* frida://?                        # show this help
* frida://                         # list local processes
* frida://0                        # attach to frida-helper (no spawn needed)
* frida:///usr/local/bin/rax2      # abspath to spawn
* frida://rax2                     # same as above, considering local/bin is in PATH
* frida://spawn/$(program)         # spawn a new process in the current system
* frida://attach/(target)          # attach to target PID in current host
USB:
* frida://list/usb//               # list processes in the first usb device
* frida://apps/usb//               # list apps in the first usb device
* frida://attach/usb//12345        # attach to given pid in the first usb device
* frida://spawn/usb//appname       # spawn an app in the first resolved usb device
* frida://launch/usb//appname      # spawn+resume an app in the first usb device
Remote:
* frida://attach/remote/10.0.0.3:9999/558 # attach to pid 558 on tcp remote frida-server
Environment: (Use the `%` command to change the environment at runtime)
  R2FRIDA_SAFE_IO=0|1              # Workaround a Frida bug on Android/thumb
  R2FRIDA_DEBUG=0|1                # Used to debug argument parsing behaviour
  R2FRIDA_COMPILER_DISABLE=0|1     # Disable the new frida typescript compiler (`:. foo.ts`)
  R2FRIDA_AGENT_SCRIPT=[file]      # path to file of the r2frida agent

أمثلة

$ r2 frida://0     # same as frida -p 0, connects to a local session

يمكنك الإرفاق بأي برنامج أو إنشائه أو تشغيله بالاسم أو بمعرّف العملية (pid). سيقوم السطر التالي بالإرفاق بأول عملية تُسمى rax2 (شغّل rax2 - في طرفية أخرى لاختبار هذا السطر)

$ r2 frida://rax2  # attach to the first process named `rax2`
$ r2 frida://1234  # attach to the given pid

استخدام المسار المطلق لملف ثنائي لتشغيله سيؤدي إلى إنشاء العملية:

$ r2 frida:///bin/ls
[0x00000000]> :dc        # continue the execution of the target program

يعمل أيضًا مع الوسائط:

$ r2 frida://"/bin/ls -al"

لتصحيح تطبيقات iOS/Android عبر USB استخدم هذه الإجراءات. لاحظ أنه يمكن استبدال spawn بـ launch أو attach، ويمكن أن يكون اسم العملية هو bundleid أو PID.

$ r2 frida://spawn/usb/         # enumerate devices
$ r2 frida://spawn/usb//        # enumerate apps in the first iOS device
$ r2 frida://spawn/usb//Weather # Run the weather app

الأوامر

هذه هي الأوامر الأكثر شيوعًا، لذا يجب أن تتعلمها وتضيف إليها اللاحقة ? للحصول على مساعدة الأوامر الفرعية.

:i        # get information of the target (pid, name, home, arch, bits, ..)
.:i*      # import the target process details into local r2
:?        # show all the available commands
:dm       # list maps. Use ':dm|head' and seek to the program base address
:iE       # list the exports of the current binary (seek)
:dt fread # trace the 'fread' function
:dt-*     # delete all traces

الإضافات

تعمل إضافات r2frida في جانب الوكيل ويتم تسجيلها عبر واجهة r2frida.pluginRegister.

راجع دليل plugins/ للاطلاع على المزيد من أمثلة نصوص الإضافات.

[0x00000000]> cat example.js
r2frida.pluginRegister('test', function(name) {
  if (name === 'test') {
    return function(args) {
      console.log('Hello Args From r2frida plugin', args);
      return 'Things Happen';
    }
  }
});
[0x00000000]> :. example.js   # load the plugin script

يعمل الأمر :. مثل أمر . في r2، لكنه يُنفَّذ داخل الوكيل.

:. a.js  # run script which registers a plugin
:.       # list plugins
:.-test  # unload a plugin by name
:.. a.js # eternalize script (keeps running after detach)

Termux

تنزيل الأداة