
أداة تساعدك بسهولة على تتبع الفئات والدوال وتعديل قيم الإرجاع للطرق على منصة iOS
📍 أداة تساعدك على استخدام Frida بسهولة. تدعم نصوصًا برمجية لتتبع الفئات والدوال وتعديل القيم المُرجَعة للطرق على منصة iOS.
👉 لمنصة أندرويد: frida-android-hook
👉 لاعتراض API المشفر في تطبيقات iOS: frida-ios-intercept-api
| نظام التشغيل | مدعوم | ملاحظات |
|---|---|---|
| MacOS | ✅ | مستقر |
| Linux | ✅ | مستقر |
| Windows | ✅ | غير مستقر |
| iOS | Frida | Frida-tools | مدعوم | النسخة المستقرة |
|---|---|---|---|---|
| 16.7.11 | 16.7.14 | 13.7.1 | ✅ | |
| 16.7.11 | 16.1.4 | 12.2.1 | ✅ | ✅ |
ملاحظة: استخدم الإصدارات المستقرة لحل مشكلة ObjC not defined issue الموجودة في frida 17.0.1.
تعمل مع Python 3.x. تدعم كلا من السكريبتات spawn و attach للعمليات. جميع الخيارات من ./ioshook -h:
[+] أحدث إصدار
https://github.com/noobpk/frida-ios-hook/releases
[+] إصدار التطوير
git clone -b dev https://github.com/noobpk/frida-ios-hook
[+] Python >= v3.0 (يوصى باستخدام pyenv أو virtualenv)
1. cd frida-ios-hook/
2. python3 -m venv py-env
3. source py-env/bin/active
1. pip3 install -r requirements.txt
3. python3 setup.py
4. cd frida-ios-hook
5. ./ioshook -h (--help)
انظر الاستخدام الكامل كصفحة ويكي
إذا قمت بتشغيل السكريبت ولم يعمل، يمكنك تجربة التالي:
frida -U -f package -l script.js
نظرًا لأنني لست مطورًا، فقد لا تكون مهاراتي في البرمجة الأفضل. لذلك، إذا كانت لهذه الأداة أي مشكلة أو لم تعمل معك، قم بإنشاء issue وسأحاول إصلاحها. أي اقتراحات لميزة جديدة أو مناقشات مرحب بها!
| التصنيف | الخيار | الوصف |
|---|
| عام | -h, --help | عرض رسالة المساعدة والخروج |
--cli | تشغيل واجهة iOSHook التفاعلية | |
-p, --package PACKAGE | معرف الحزمة للتطبيق الهدف (spawn) | |
-n, --name NAME | اسم العرض للتطبيق الهدف (attach) | |
--pid PID | معرف العملية للتطبيق الهدف (attach) | |
-s, --script SCRIPT.JS | المسار إلى سكريبت Frida JavaScript للربط | |
-c, `--check-version* | التحقق من وجود تحديثات لـ iOSHook | |
-u, --update | تحديث iOSHook إلى أحدث إصدار | |
| طريقة سريعة | -m, `--method* METHOD | app-static, bypass-jb, bypass-ssl, i-url-req, i-crypto (استخدم -n أو -p حسب الحاجة) |
| معلومات | --list-devices | عرض قائمة بجميع أجهزة Frida المتصلة |
--list-apps | عرض قائمة بجميع التطبيقات المثبتة على الجهاز | |
--list-scripts | عرض قائمة بجميع سكريبتات Frida المتوفرة | |
--logcat | عرض سجل النظام للجهاز (idevicesyslog) | |
--conf | فتح وتحرير ملف hook.conf | |
--shell, --ssh | فتح شل SSH إلى الجهاز (الافتراضي: USB عبر iproxy) | |
| `--ssh-port-forward* LOCAL:DEVICE | توجيه المنفذ من المحلي إلى الجهاز (ssh -R) | |
| `--network* HOST:PORT | الاتصال عبر الشبكة SSH (المنفذ الافتراضي 22) | |
--local | الاتصال عبر USB باستخدام iproxy | |
| تفريغ وفك تشفير IPA | -d, --dump-app | تفريغ وفك تشفير ملف IPA للتطبيق |
-o, `--output* OUTPUT_IPA | اسم ملف الإخراج لـ IPA المُفك تشفيره (بدون .ipa) | |
| `--dump-output-dir* DIR | دليل الإخراج لـ IPA المُفك تشفيره (الافتراضي: workspaces/dumps) | |
| تفريغ الذاكرة | `--dump-memory* OPTS | تفريغ ذاكرة التطبيق الجاري تشغيله (مثل --string, --read-only) |
| فحص HexByte لـ IPA | `--hexbyte-scan* MODE | الوضع: help, scan, patch, json |
| `--file* FILE.IPA | ملف IPA للمسح/التصحيح | |
| `--pattern* PATTERN | النمط السداسي للبحث (مثل E103??AA????E0) | |
| `--address* ADDRESS | العنوان للتصحيح (التنسيق: address,bytes,distance) | |
| `--task* TASK.json | ملف مهمة JSON لفحص hexbyte | |
| reFlutter | `--reflutter* FLUTTER.IPA | المسار إلى Flutter IPA لتحليل reFlutter |
| العنوان | الرابط |
|---|
| Frida iOS Hook | الاستخدام الأساسي | التثبيت - عرض الأجهزة - عرض التطبيقات - عرض السكريبتات - Logcat - Shell | https://youtu.be/xSndHgTdv4w |
| Frida iOS Hook | الاستخدام الأساسي | تفريغ وفك تشفير IPA - تفريغ ذاكرة التطبيق - فحص Hexbyte لـ IPA | https://youtu.be/AUsJ9_gnWAI |
| Frida iOS Hook | الاستخدام الأساسي | التحليل الثابت للتطبيق - تجاوز كسر الحماية - تجاوز SSL - اعتراض URL + التشفير | https://youtu.be/nWhKDSzArf8 |
| Frida iOS Hook | الاستخدام المتقدم | تفريغ الذاكرة - Radare2 - Iaito | https://youtu.be/nUqE4EYWiEc |