عن المشروع
هذا المستودع عبارة عن مجموعة وثائق وليس تطبيقًا قابلاً للتشغيل. ويسجل نتائج الهندسة العكسية لملف Spotify Android APK مفكوك ولمشروع مصاحب يسمى spotify-muter.
النطاق والطريقة
النسخة التي حُللت هي Spotify 9.1.84.2205 (الإصدار r1)، وفُككت باستخدام JADX 1.5.6 مع إزالة التشويش واستعادة التعليمات البرمجية السيئة. تُوضع شجرة المصدر الناتجة تحت decompiled/sources/. وحيث يتعذر على JADX إعادة بناء دالة حرجة، يُستخدم استخراج مستهدف عبر APKTool/smali، مع حفظ أهداف البايت كود تحت analysis/smali-targets/. وتذكر الملاحظات أن ذلك كان ضروريًا لاستعادة منشئ إجراءات MediaSession وأجزاء من تعيين واجهة تخطي الإعلانات.
بنية الوثائق
يعمل ملف README كفهرس لملاحظات مرقمة: نطاق الهندسة العكسية وقيودها؛ وبنية التطبيق؛ والتشغيل وحالة المشغل؛ وتكامل Android MediaSession؛ وخط إنتاج الإعلانات؛ والإبلاغ عن الإعلانات وتتبعها؛ والتخطي وقيود التشغيل؛ والشبكات (Esperanto وCosmos)؛ وخريطة الحزم/الأنظمة الفرعية؛ وبنية Spotify Ad Muter؛ وفهرس أبحاث مع أسئلة مفتوحة؛ وجرد مكونات Android؛ ومكدس وقت التشغيل وإطار العمل؛ وفهرس الحزم العليا؛ وتتبع عميق لمراحل الإعلان، وتأخير التخطي، وسلوك تخطي التالي في Android.
النموذج الذهني
تقدم الملاحظات تدفقًا عالي المستوى من SpotifyApplication عبر SpotifyMainuty وواجهات الميزات، متفرعًا إلى حالة المشغل والتنقل/الواجهة. تؤدي حالة المشغل إلى ContextTrack بالإضافة إلى Restrictions، واللذان يغذيان كلًا من تصدير MediaSession (إلى واجهة نظام Android وعمليات التكامل الخارجية) وأوامر المشغل داخل نواة مشغل Spotify. توصف الإعلانات بأنها تُدرج في نموذج التشغيل نفسه مثل المقاطع العادية، لكنها تحمل بيانات وصفية خاصة بالإعلان مثل is_advertisement وad_id وad_playback_id وad.is_skippable وad.skippable_ad_delay.
من الملاحظات المتكررة أن Spotify يكشف نماذج مجال مستقرة مثل PlayerState وContextTrack وأنواع طلب/استجادة protobuf، بينما جزء كبير من الربط المحيط يكون مشوشًا بشدة داخل حزمة p204p.
تصنيف الثقة
تميز الوثائق بين ثلاثة مستويات: مؤكد (يظهر مباشرة في الكود المفكوك أو smali أو الموارد أو البيان)، واستدلال قوي (تدعم مسارات كود مستقلة متعددة التفسير نفسه)، وغير مؤكد (تمنع إعادة البناء/التشويش أو حدود native/الخلفية التوصل إلى نتيجة قاطعة). وتتجنب الملاحظات صراحةً معاملة الأسماء التي أنشأها JADX كأسماء مصدر أصلية.
فائدتها
تستهدف هذه المادة القراء الذين يدرسون الأجزاء الداخلية لتطبيقات Android، ومعالجة حالة تشغيل الوسائط، وتكامل MediaSession، ومنطق الإعلانات/التخطي داخل تطبيق كبير مشوش. إنها مورد بحث ومرجعي، وليست أداة للمستخدمين النهائيين، ولا تدعي توفير عميل معدّل يعمل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.