
تحليلات جنائية لتفكيك وإعادة تجميع وهندسة عكسية وتدقيق تطبيقات Android
BogusMips مكتوب بلغة Rust ويسمح بإجراء تحليلات حول مدى إمكانية تفكيك تطبيق Android الخاص بك. يتيح لك فتح ملف *.apk أو *.xapk الخاص بتطبيقك لمعرفة مدى إمكانية تفكيك تطبيقك.

*.apk أو *.xapk عبر File → Open… (⌘O / Ctrl+O)، أو بإسقاطه على النافذة، أو كوسيط سطر أوامر.classes*.dex، مجمّعة حسب حزمة Java ومفككة إلى smali.resources.arsc إلى ملفات res/values*/*.xml التي جُمّع منها (strings، colors، dimens، styles، attrs، arrays، plurals، …) بالإضافة إلى public.xml الذي يحتوي على كل معرّف مورد..smali؛ ملفات الموارد المولّدة كـ XML؛ ملفات APK المحتواة في XAPK كـ .apk.AndroidManifest.xml، res/**/*.xml). تُحلّ مراجع الموارد إلى أسمائها (@string/app_name، @android:style/Theme)، وقيم السمات إلى أسمائها الرمزية (protectionLevel="signature").AndroidManifest.xml، resources.arsc)، وحركة مرور الشبكة HTTP/HTTPS الملتقطة. قابل للتهيئة مع Grok (xAI)، أو Gemini (Google)، أو Claude (Anthropic)، أو OpenAI (ChatGPT)، أو أي نقطة نهاية مخصصة متوافقة مع OpenAI (مثل Ollama، OpenRouter). يمتلك الوكيل أدوات مدمجة (search_package، list_nodes، read_node، list_network_flows، inspect_network_flow) للبحث وقراءة الأصناف والموارد وتدفقات الشبكة الملتقطة بشكل مستقل.
عرض Network (⇧⌘N) هو أداة التقاط حركة مرور مبسّطة شبيهة بـ Postman. يبدأ محاكي Android (AVD)، ويوجّه حركة مرور الضيف عبر وكيل man-in-the-middle مدمج، ويثبّت ملف APK/XAPK المفتوح، ويشغّله، ويلتقط طلبات HTTP وHTTPS الخاصة به مباشرةً. تظهر الطلبات الملتقطة في قائمة على اليسار؛ ويؤدي تحديد أحدها إلى عرض طلبه/استجابته الكاملة (الترويسات والجسم، pretty / raw / hex) في المحرر، مع تفاصيل التوقيت والاتصال في لوحة المعلومات.

يتطلب فك تشفير HTTPS الكامل صورة محاكي قابلة للجذر (google_apis / aosp_atd، وليس google_apis_playstore)، لأن شهادة CA الخاصة بالوكيل يجب تثبيتها كمرساة ثقة على مستوى النظام. عند البدء، يفعّل BogusMips الأمر adb root ويثبّت شهادة CA التي يولّدها (شهادة CA قصيرة العمر لكل جلسة، بصيغة PEM) في مخازن الثقة الخاصة بالنظام وConscrypt (APEX). على Android 14+ (API 34+)، توجد هذه المخازن داخل مساحات أسماء تركيب (mount namespaces) لكل عملية على حدة، لذا تُوضع شهادة CA في دليل overlay — مع إعادة تصنيفها بسياق SELinux المسمّى system_security_cacerts_file (سواء الملفات والدليل، وإلا فسيُرفض وصول التطبيقات) — وتُركّب (bind-mount) فوق المخازن في مساحة اسم التركيب الخاصة بكل عملية عبر nsenter. يُثبّت التطبيق المستهدف ويُشغّل بعد ذلك، فيتفرّع من جديد ويُفكّ تشفير HTTPS الخاص به عبر مخزن الثقة النظامي. الشهادات الورقية (leaf certificates) لكل مضيف قصيرة العمر وتُرسل دون شهادة CA في السلسلة، لإرضاء العملاء الذين يفرضون الحد الأقصى البالغ 398 يومًا لصلاحية الشهادة.
تحذيرات — ما لا يمكن فك تشفيره:
ERR_CERT_AUTHORITY_INVALID؛ ويصل مرورها إلى الوكيل لكن يُرفض مصافحة TLS. العديد من التطبيقات الهجينة (Cordova/Capacitor/Ionic) تُعرض داخل WebView وتندرج ضمن هذه الفئة.*.google.com)، والتي تتطلب إضافةً إلى ذلك Certificate Transparency.ما يُفكّ تشفيره: التطبيقات التي تستخدم مخزن الثقة النظامي في Android — HttpURLConnection وOkHttp/Retrofit وConscrypt ومعظم الشبكات الأصلية (native). (عمليات النظام المخزّنة قيد التشغيل بالفعل لا يُعاد تفرّعها، لذا قد تستمر في إظهار أخطاء مرساة الثقة حتى إعادة التشغيل؛ وهذا لا يؤثر على التطبيق المستهدف المشغّل.)