عارض معلومات APK

اكتشف ما تعلنه حزمة تطبيقات Android — الإصدار، والأذونات، والمكونات، وشهادات التوقيع — قبل تثبيتها.

جاهز. أُسقِط ملف APK لفحصه.

يتم تحليل ملف APK بالكامل على جهازك: لا يتم رفع أي شيء، ويتم قراءة الملف فقط — دون تثبيته أو تشغيله مطلقاً.

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

ما الذي يمكنني معرفته من ملف APK دون تثبيته؟

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

هل يمكن لهذه الأداة إخباري ما إذا كان ملف APK برنامجاً ضاراً؟

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

ما هي الملفات المدعومة؟

ملفات APK الفردية حتى 500 MB. الحزم المقسمة (XAPK، APKM) وحزم Android App Bundles (.aab) هي حاويات أو تنسيقات نشر وليست حزمة قابلة للتثبيت، لذلك يتم رفضها برسالة واضحة بدلاً من تقرير مربك.

ما الذي تخبرني به تفاصيل التوقيع؟

كل تطبيق Android موقع، وتحدد الشهادة هوية الجهة التي نشرته. يمكنك معرفة مخططات التوقيع التي تحملها الحزمة (v1، v2، v3) وموضوع كل موقع، وفترة صلاحيته، وبصمات MD5، وSHA-1، وSHA-256. ملفا APK لهما نفس البصمات جاءا من نفس الناشر — وما إذا كنت تثق بهذا الناشر أم لا يزال قرارك وحدك.

ماذا تعني شارة “Dangerous” على الإذن؟

إنها تصنيف Android الخاص: الأذونات الخطيرة يمكنها الوصول إلى البيانات الخاصة — الموقع، جهات الاتصال، الكاميرا، الميكروفون، التخزين — لذلك يسأل النظام المستخدم قبل منحها. الشارة ليست اتهاماً؛ تطبيق خرائط يطلب الموقع هو أمر طبيعي. إنها فقط تحدد الأذونات التي تستحق القراءة مرتين.

تشريح حزمة APK وبنيتها الداخلية

تُعرف حزمة تطبيقات Android (APK) بأنها ملف أرشيف مضغوط يحتوي على كافة العناصر اللازمة لتشغيل التطبيق على نظام التشغيل Android. عند استخدام أداة "عارض معلومات APK"، يتم فحص هذا الأرشيف محلياً لاستخراج وتحليل مكوناته الأساسية دون الحاجة لتثبيته.

تتكون البنية الداخلية لأي ملف APK من ملفات ومجلدات رئيسية يقرأها الفحص الثنائي:

  • ملف AndroidManifest.xml: هو النواة التعريفية للتطبيق. يحتوي على اسم الحزمة، والإصدار، والأذونات المطلوبة، والمكونات البرمجية. لا يمكن للأداة قراءة الملفات التي تفتقر إلى هذا الملف البرمجي، وتظهر في هذه الحالة رسالة الخطأ: "لا يبدو هذا كملف APK: لم يتم العثور على ملف AndroidManifest.xml قابل للقراءة بداخله.".
  • ملفات الكود (.dex): وهي ملفات Dalvik Executable التي تحتوي على الكود البرمجي المترجم الذي يعمل على بيئة تشغيل Android. تعرض الأداة عدد هذه الملفات تحت تسمية lDexFiles ("ملفات الكود (.dex)").
  • ملفات الموارد والأصول: تشمل مجلد المصادر ومجلد الأصول التي تحتوي على الصور، والواجهات، والملفات الثنائية الإضافية. تظهر هذه التفاصيل في قسم الموارد secResources ("الموارد") تحت مسميات lResFiles ("ملفات الموارد") و lAssets ("ملفات الأصول").

تختلف حزم APK القياسية عن صيغ النشر والتوزيع الأخرى. على سبيل المثال، تعد حزم Android App Bundles التي تحمل الامتداد .aab تنسيقاً مخصصاً للنشر على المتاجر وليست حزماً قابلة للتثبيت المباشر. عند محاولة رفعها، ترفض الأداة الملف وتظهر رسالة: "هذا ملف Android App Bundle (.aab) — تنسيق نشر، وليس ملف APK قابلاً للتثبيت. افحص ملف APK المُنشأ بدلاً من ذلك.". وبالمثل، فإن الحزم المقسمة مثل XAPK أو APKM هي حاويات تضم عدة ملفات APK، ويرفضها الفحص بالرسالة: "هذه حزمة XAPK مقسمة — حاوية لعدة ملفات APK. استخرج ملف APK الأساسي وافحص هذا الملف بدلاً من ذلك.".


إصدارات SDK وتوافقية نظام Android

يحدد مطورو التطبيقات حدود التوافقية البرمجية مع إصدارات نظام التشغيل Android عبر ثلاثة متغيرات أساسية تظهر في قسم المتطلبات secRequirements ("المتطلبات") داخل تقرير الأداة:

المتغير البرمجي التسمية في الواجهة طريقة العرض والترميز
الحد الأدنى لتشغيل التطبيق lMinSdk ("الحد الأدنى لـ Android") يعرض كـ sdkAndroid ("Android ‹version› (API ‹level›)") أو sdkOnly ("API ‹level›").
الإصدار المستهدف للتطوير lTargetSdk ("Android المستهدف") يعرض كـ sdkAndroid ("Android ‹version› (API ‹level›)") أو sdkOnly ("API ‹level›").
الحد الأقصى للتوافق lMaxSdk يظهر عند وجوده بصيغة "الحد الأقصى لـ SDK هو ‹n›".

تتحكم هذه القيم في السلوك الأمني للتطبيق. يحدد "الحد الأدنى لـ Android" أقل إصدار يمكنه تشغيل التطبيق، بينما يحدد "Android المستهدف" مستوى واجهة برمجة التطبيقات (API) التي تم اختبار التطبيق عليها، مما يفرض على النظام تطبيق سلوكيات أمنية صارمة تتوافق مع ذلك الإصدار.


نظام الأذونات وتصنيف الصلاحيات الخطيرة

يطلب كل تطبيق Android مجموعة من الأذونات للوصول إلى وظائف النظام. تعرض الأداة هذه الأذونات في قسم secPermissions ("الأذونات").

لتسهيل المراجعة الأمنية، تتبع الأداة قواعد فرز محددة:

  1. ترتيب الأولويات: يتم فرز الأذونات وتصنيفها بحيث تأتي الأذونات التي تحمل شارة lDangerous ("خطيرة") في مقدمة القائمة.
  2. الأذونات الخطيرة: هي الصلاحيات التي تتيح للتطبيق الوصول إلى بيانات المستخدم الخاصة أو التحكم في وظائف الجهاز الحساسة (مثل الكاميرا، والموقع الجغرافي، وجهات الاتصال، وسجل المكالمات). يضع النظام شارة "خطيرة" بجانبها لتنبيه الفاحص بضرورة مراجعة مدى توافق هذه الصلاحيات مع الوظيفة الفعلية للتطبيق.

مكونات التطبيق الهيكلية وحدود العرض

تتكون تطبيقات Android من أربعة أنواع رئيسية من المكونات البرمجية، ويقوم عارض معلومات APK بتبويبها في قسم secComponents ("المكونات"):

  • groupActivities (Activities): تمثل الشاشات وواجهات المستخدم التفاعلية الخاصة بالتطبيق.
  • groupServices (Services): العمليات البرمجية التي تعمل في الخلفية دون واجهة مستخدم مرئية.
  • groupReceivers (Receivers): مستقبلات البث التي تتيح للتطبيق الاستجابة لرسائل النظام أو التطبيقات الأخرى.
  • groupProviders (Providers): موفرو المحتوى الذين يديرون الوصول إلى البيانات المشتركة. تعرض الأداة سلطة الموفر (provider authority) أو كلمة none ("لا يوجد") في حال عدم توفرها.

تتضمن المكونات شارة lExported ("مُصدَّر") إذا كان المكون متاحاً للاستدعاء أو التشغيل بواسطة تطبيقات خارجية أخرى على نفس الجهاز. وللحفاظ على أداء المتصفح واستقرار الواجهة، تعرض الأداة بحد أقصى 100 عنصر لكل فئة من هذه المكونات. وفي حال تجاوز هذا العدد، يتم إلحاق التسمية lMore ("+‹count› أخرى") في نهاية القائمة.


مخططات التوقيع الرقمي وبصمات الشهادات

تفرض بيئة Android توقيع كافة الحزم رقمياً بواسطة المطور قبل تثبيتها. يستخرج عارض معلومات APK بيانات الشهادات الرقمية من كتل التوقيع v1 (PKCS#7) وكتل توقيع APK (v2 و v3 و v3.1) ويعرضها في قسم secSignatures ("التوقيعات").

يتضمن التقرير البيانات التعريفية التالية لكل موقع:

  • الموقع: يظهر كـ lSigner ("الموقِّع ‹n›").
  • الموضوع: lSubject ("الموضوع") الذي يحدد هوية المالك.
  • الجهة المصدرة: lIssuer ("صادر عن").
  • الرقم التسلسلي: lSerial ("الرقم التسلسلي").
  • فترة الصلاحية: تشمل lValidFrom ("صالح من") و lValidTo ("صالح حتى").
  • الخوارزميات: تشمل lSigAlg ("خوارزمية التوقيع") و lKeyAlg ("خوارزمية المفتاح").
  • البصمات الرقمية: بصمات التشفير من نوع MD5 و SHA-1 و SHA-256 للشهادة.

إذا لم تعثر الأداة على أي توقيع رقمي معترف به، فإنها تعرض التنبيه التالي: "لم يُعثر على كتلة توقيع معتمدة — قد تكون الحزمة غير موقَّعة أو مُعاد حزمها.". يجب الانتباه إلى أن الأداة تقتصر على استخراج وعرض هذه البيانات التعريفية فقط، ولا تقوم بالتحقق التشفيري من سلامة التوقيع أو التحقق من سلسلة الثقة للشهادة أو إثبات الهوية الحقيقية للناشر في الواقع.


المعالجة المحلية وحماية الخصوصية

تتم عملية فحص ملف APK بالكامل داخل متصفح الويب الخاص بالمستخدم. تعتمد الأداة على تقنيات المعالجة المحلية (Web Worker) لقراءة الملف، وحساب التجزئات، وتحليل البنية الداخلية دون رفع أي بيانات إلى خوادم خارجية.

تخضع عملية الفحص للقواعد والقيود التشغيلية التالية:

  • حجم الملف: الحد الأقصى للملف المسموح بفحصه هو 500 ميجابايت. في حال تجاوز هذا الحد، تظهر رسالة الخطأ: "هذا الملف أكبر من 500 MB — أكبر مما يمكن لعلامة تبويب المتصفح فحصه بأمان.".
  • الكمية: تتيح الأداة فحص ملف واحد فقط في المرة الواحدة. إذا تم إسقاط عدة ملفات معاً، تقوم الأداة بمعالجة الملف الأول فقط وتظهر ملاحظة: "ملف واحد في كل مرة — جاري فحص الملف الأول.".
  • حساب التجزئات: تحسب الأداة قيم التجزئة للملف بأكمله (MD5 و SHA-1 و SHA-256) وتعرضها في قسم secHashes ("تجزئات الملف") لمقارنتها بالتجزئات الرسمية الصادرة عن المطور.

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

ما الذي يمكنني معرفته من ملف APK دون تثبيته؟

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

هل يمكن لهذه الأداة إخباري ما إذا كان ملف APK برنامجاً ضاراً؟

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

ما هي الملفات المدعومة؟

ملفات APK الفردية حتى 500 MB. الحزم المقسمة (XAPK، APKM) وحزم Android App Bundles (.aab) هي حاويات أو تنسيقات نشر وليست حزمة قابلة للتثبيت، لذلك يتم رفضها برسالة واضحة بدلاً من تقرير مربك.

ما الذي تخبرني به تفاصيل التوقيع؟

كل تطبيق Android موقع، وتحدد الشهادة هوية الجهة التي نشرته. يمكنك معرفة مخططات التوقيع التي تحملها الحزمة (v1، v2، v3) وموضوع كل موقع، وفترة صلاحيته، وبصمات MD5، وSHA-1، وSHA-256. ملفا APK لهما نفس البصمات جاءا من نفس الناشر — وما إذا كنت تثق بهذا الناشر أم لا يزال قرارك وحدك.

ماذا تعني شارة “Dangerous” على الإذن؟

إنها تصنيف Android الخاص: الأذونات الخطيرة يمكنها الوصول إلى البيانات الخاصة — الموقع، جهات الاتصال، الكاميرا، الميكروفون، التخزين — لذلك يسأل النظام المستخدم قبل منحها. الشارة ليست اتهاماً؛ تطبيق خرائط يطلب الموقع هو أمر طبيعي. إنها فقط تحدد الأذونات التي تستحق القراءة مرتين.