0Pricing
Ethical Hacking Academy · درس

بنية تطبيقات Android

مكونات APK الداخلية

بنية تطبيقات Android درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

ملف APK

يُوزع تطبيق Android على هيئة APK (حزمة Android). وهو في الحقيقة أرشيف ZIP يحتوي على الشيفرة المترجمة والموارد والبيانات الوصفية.

وبما أنه ملف ZIP، يمكنكم فك ضغطه ببساطة لفحص محتوياته، وهذه هي الخطوة الأولى في اختبار اختراق الأجهزة المحمولة.

unzip app.apk -d app_extracted/

محتويات APK

يحتوي APK المستخرج على:

  • AndroidManifest.xml: إعدادات التطبيق.
  • classes.dex: الشيفرة الثانوية المترجمة.
  • res/ وresources.arsc: الموارد.
  • lib/: المكتبات الأصلية.
  • META-INF/: معلومات التوقيع.

البيان

يعلن AndroidManifest.xml عن مكونات التطبيق وأذوناته وإعداداته. ويكون في APK بصيغة XML ثنائية يمكن للأدوات فك ترميزها.

وهو أهم ملف منفرد لفهم سطح الهجوم الخاص بالتطبيق.

DEX وبيئة التشغيل

تُترجم الشيفرة المصدرية بلغة Java/Kotlin إلى شيفرة ثانوية بصيغة DEX (Dalvik Executable) داخل classes.dex. وتشغّل إصدارات Android الحديثة هذه الشيفرة عبر ART (Android Runtime).

يمكن تحويل DEX مرة أخرى إلى شيفرة مقروءة، وهذا ما يستغله التحليل الساكن لملفات APK.

المكونات الأربعة

تُبنى تطبيقات Android من أربعة أنواع من المكونات:

  • Activities: الشاشات / واجهة المستخدم.
  • Services: العمل في الخلفية.
  • Broadcast Receivers: الاستجابة لأحداث النظام.
  • Content Providers: مشاركة البيانات بين التطبيقات.

المكونات المصدّرة

يمكن استدعاء المكوّن الذي يحمل السمة android:exported="true" من تطبيقات أخرى. وإذا نفذ هذا المكوّن إجراءات حساسة من دون فحوصات، فإنه يمثل سطح هجوم.

يبحث مختبرو الاختراق عن الأنشطة والخدمات وموفري المحتوى المصدّرين الذين يسرّبون البيانات أو ينفذون إجراءات ذات امتيازات.

<activity android:name=".AdminActivity" android:exported="true"/>

الأذونات

تطلب التطبيقات الأذونات في البيان (مثل INTERNET وREAD_SMS وACCESS_FINE_LOCATION).

تشير الأذونات الواسعة أكثر من اللازم إلى سلوك محفوف بالمخاطر أو وصول مفرط إلى البيانات. كما قد تُهيأ الأذونات المخصصة بشكل خاطئ للسماح بالوصول غير المصرح به.

<uses-permission android:name="android.permission.READ_SMS"/>

صندوق حماية التطبيق

يعزل Android كل تطبيق داخل صندوق حماية خاص به مع معرّف UID فريد لنظام Linux. ولا يمكن للتطبيقات، افتراضياً، قراءة بيانات بعضها بعضاً.

تنشأ الثغرات عندما تضعف التطبيقات هذا الحد الفاصل، مثل الملفات القابلة للقراءة من الجميع أو موفري المحتوى المكشوفين.

تخزين بيانات التطبيق

يخزن التطبيق المثبت بياناته الخاصة ضمن /data/data/<package>/: قواعد البيانات والتفضيلات المشتركة والملفات.

على جهاز مفعّل عليه الوصول الجذري أو عبر النسخ الاحتياطية، يفحص مختبر الاختراق هذا الدليل بحثاً عن أسرار مخزنة بشكل غير آمن، وهو ما يتناوله درس لاحق.

/data/data/com.example.app/

التوقيع

يُوقّع كل APK رقمياً؛ ويُحفظ التوقيع في META-INF/. ويتحقق Android منه عند التثبيت وعند إجراء التحديثات.

إذا عدّلتم تطبيقاً وأعدتم حزمته، فيجب إعادة توقيعه، ولهذا يعتمد المطورون على التوقيع لاكتشاف العبث.

المكتبات الأصلية

قد يوجد المنطق الحرج للأداء أو المموه في المكتبات الأصلية (ملفات .so) ضمن lib/، وهي م compiled من C/C++.

لا توجد هذه المكتبات في DEX، ولذلك تتطلب تحليلاً منفصلاً باستخدام أدوات فك التجميع الأصلية. ويخفي المطورون أحياناً الأسرار هنا، اعتقاداً خاطئاً منهم بأن فحص الشيفرة الأصلية أصعب.

lib/arm64-v8a/libnative.so

اختبار سريع

تذكروا سمة البيان التي تكشف المكوّن للتطبيقات الأخرى.

مراجعة

أصبحتم الآن تفهمون بنية تطبيقات Android:

  • إن APK عبارة عن ZIP يحتوي على AndroidManifest.xml وclasses.dex والموارد وبيانات التوقيع.
  • تستخدم التطبيقات أربعة مكونات؛ وتمثل المكونات المصدّرة سطح هجوم.
  • تحكم الأذونات وصندوق الحماية الخاص بكل تطبيق في الوصول؛ وتوجد البيانات الخاصة في /data/data/.
  • تُوقّع ملفات APK لاكتشاف العبث.

ستقومون بعد ذلك بإزالة تجميع APK في تحليل ساكن.

الأسئلة الشائعة

هل درس «بنية تطبيقات Android» مجاني؟

نعم — نص درس «بنية تطبيقات Android» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

ماذا ستتعلم في «بنية تطبيقات Android»؟

مكونات APK الداخلية تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟

لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «بنية تطبيقات Android»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟

نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. بنية تطبيقات Android
  2. التحليل الساكن لملفات APK
  3. التحليل الديناميكي باستخدام Frida
  4. التخزين والاتصالات غير الآمنة
← العودة إلى Ethical Hacking Academy