التحليل الديناميكي باستخدام Frida
Frida والربط الاعتراضي
التحليل الديناميكي باستخدام Frida درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ما هي Frida؟
Frida هي مجموعة أدوات للInstrumentation الديناميكي. فهي تحقن محرّك JavaScript في تطبيق قيد التشغيل، ما يتيح لك فحص السلوك وتعديله أثناء التشغيل من دون إعادة الترجمة.
وهي أهم أداة لاختبار الاختراق الديناميكي لتطبيقات الأجهزة المحمولة.
كيف تعمل Frida
تشغّل Frida وكيلًا صغيرًا (وهو frida-server على الجهاز) وعميلًا على جهازك. وتكتب JavaScript لإضافة خطافات إلى وظائف العملية المستهدفة.
يمكن لبرامجك النصية قراءة الوسائط وتغيير القيم المعادة واستدعاء الأساليب مباشرةً.
الإعداد
تدفع ملف frida-server الثنائي المطابق إلى جهاز ذي صلاحيات root (أو تستخدم APK مصححًا يحتوي على frida-gadget في الأجهزة غير المزوّدة بصلاحيات root) ثم تشغّله.
بعد ذلك تتصل أدوات سطح المكتب عبر USB.
adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &حصر التطبيقات
أكّد الاتصال من خلال سرد التطبيقات المثبتة والعمليات قيد التشغيل باستخدام أدوات Frida CLI.
يتحقق ذلك من إمكانية الوصول إلى frida-server، ويمنحك اسم الحزمة المستهدفة.
frida-ps -Uaiما المقصود بإضافة الخطافات؟
تعني إضافة الخطافات اعتراض دالة بحيث تُشغّل شفرتك قبلها أو بعدها أو بدلًا منها. ويمكنك تسجيل المدخلات وفحص المخرجات أو استبدال السلوك بالكامل.
في Android، تضيف خطافات إلى أساليب Java (والدوال الأصلية) داخل التطبيق قيد التشغيل.
خطاف Java بسيط
داخل Java.perform، تحدد فئة وتختار أسلوبًا وتتجاوز implementation الخاص به. ويمكنك تسجيل الوسائط ثم استدعاء التنفيذ الأصلي.
لاحظ أن المثال يستخدم علامات اقتباس مفردة، وليس علامات backticks، للحفاظ على سلامة JSON.
Java.perform(function(){
var Login = Java.use('com.app.Login');
Login.check.implementation = function(pw){
console.log('pw=' + pw);
return this.check(pw);
};
});تجاوز عملية تحقق
لتجاوز المنطق، تجاوز أسلوبًا ليعيد أي قيمة تريدها. فعلى سبيل المثال، يمكنك إجبار فحص root أو الترخيص على إعادة false (لم يُكتشف) أو true (مصرّح به).
يُفشل ذلك أمان جهة العميل الذي يثق بالجهاز.
RootCheck.isRooted.implementation = function(){ return false; };تجاوز تثبيت SSL
تستخدم التطبيقات تثبيت SSL لرفض البروكسيات. وتضيف برامج Frida النصية (مثل Objection الشائعة أو برامج تجاوز التثبيت العامة) خطافات إلى منطق التثبيت حتى تتمكن من اعتراض حركة مرور HTTPS.
وهذا ضروري لفحص استدعاءات API الخاصة بالتطبيق عبر بروكسي.
frida -U -f com.app -l ssl-bypass.jsObjection
تُبنى Objection على Frida، وتوفر أوامر جاهزة لتجاوز تثبيت SSL وتفريغ مخزن المفاتيح وسرد الأنشطة وقراءة مساحة تخزين التطبيق، وكل ذلك من دون كتابة برامج نصية.
وتسرّع المهام الشائعة أثناء التقييم.
objection -g com.app exploreالتشغيل مقابل الإرفاق
يمكن لـ Frida الإرفاق بعملية قيد التشغيل أو تشغيل التطبيق من جديد مع تحميل برنامجك النصي منذ البداية (-f).
يلزم التشغيل عندما يتعين عليك إضافة خطاف إلى شفرة تُنفّذ مبكرًا، مثل فحوصات مكافحة العبث أثناء بدء التشغيل.
frida -U -f com.app -l hook.js --no-pauseالتتبع باستخدام frida-trace
ينشئ frida-trace خطافات تلقائيًا ويلحقها بالدوال المطابقة لنمط معين، مع تسجيل كل استدعاء. وهو مفيد جدًا لاكتشاف الأساليب التي يستخدمها التطبيق فعليًا.
يمكنك استهداف أساليب Java أو الدوال الأصلية، ثم تحسين المعالجات المُنشأة لفحص وسائط محددة.
frida-trace -U -f com.app -j '*Crypto*!*'تحقق سريع
تذكّر الإمكانية الأساسية لـ Frida.
مراجعة
أصبحت الآن تفهم التحليل الديناميكي باستخدام Frida:
- تحقن Frida محرّك JS لإضافة خطافات إلى الدوال في تطبيق قيد التشغيل.
- أعد إعداد frida-server، واحصر التطبيقات باستخدام
frida-ps، وأضف خطافات إلى أساليب Java. - تجاوز الأساليب من أجل تجاوز عمليات التحقق وتثبيت SSL؛ وتتولى Objection أتمتة ذلك.
- استخدم وضع التشغيل لالتقاط الشفرة التي تعمل في بداية التشغيل.
ستفحص بعد ذلك التخزين والاتصالات غير الآمنة.
الأسئلة الشائعة
هل درس «التحليل الديناميكي باستخدام Frida» مجاني؟
نعم — نص درس «التحليل الديناميكي باستخدام Frida» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «التحليل الديناميكي باستخدام Frida»؟
Frida والربط الاعتراضي تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «التحليل الديناميكي باستخدام Frida»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية تطبيقات Android
- التحليل الساكن لملفات APK
- التحليل الديناميكي باستخدام Frida
- التخزين والاتصالات غير الآمنة