منصوبے کے بارے میں

یہ ذخیرہ چلنے کے قابل ایپلیکیشن کے بجائے دستاویزات کا مجموعہ ہے۔ یہ ایک ڈی کمپائل شدہ Spotify Android APK اور spotify-muter نامی ساتھی پروجیکٹ سے متعلق ریورس انجینئرنگ دریافتوں کو ریکارڈ کرتا ہے۔ دائرہ کار اور طریقہ کار تجزیہ کردہ تعمیر Spotify 9.1.84.2205 (release r1) ہے، جسے JADX 1.5.6 کے ذریعے deobfuscation اور bad-code recovery کے ساتھ ڈی کمپائل کیا گیا۔ پیدا شدہ سورس ٹری کو decompiled/sources/ کے تحت رکھا گیا ہے۔ جہاں JADX کسی اہم میتھڈ کو دوبارہ تشکیل دینے سے قاصر ہو، وہاں ہدف شدہ APKTool/smali اخراج استعمال کیا جاتا ہے، اور بائٹ کوڈ اہداف analysis/smali-targets/ کے تحت محفوظ کیے جاتے ہیں۔ نوٹس کے مطابق اس کی ضرورت MediaSession ایکشن بلڈر اور ایڈ-اسکِپ UI میپنگ کے کچھ حصوں کو بحال کرنے کے لیے پیش آئی۔ دستاویزات کا ڈھانچہ README نمبر والے نوٹس کے لیے اشاریے کا کام کرتا ہے: ریورس انجینئرنگ کا دائرہ کار اور حدود؛ ایپلیکیشن آرکیٹیکچر؛ پلے بیک اور پلیئر اسٹیٹ؛ Android MediaSession انضمام؛ اشتہارات کی پائپ لائن؛ اشتہار کی رپورٹنگ اور ٹریکنگ؛ اسکِپنگ اور پلے بیک پابندیاں؛ نیٹ ورکنگ (Esperanto اور Cosmos)؛ سب سسٹم/پیکیج کا نقشہ؛ Spotify Ad Muter آرکیٹیکچر؛ کھلے سوالات کے ساتھ تحقیقی اشاریہ؛ Android اجزاء کی فہرست؛ رن ٹائم اور فریم ورک اسٹیک؛ اعلیٰ سطحی پیکیج انڈیکس؛ اور اشتہاری مراحل، اسکِپ تاخیر، اور Android skip-next رویے کا گہرا سراغ۔ ذہنی خاکہ نوٹس SpotifyApplication سے SpotifyMainActivity اور فیچر UIs تک ایک اعلیٰ سطحی بہاؤ پیش کرتے ہیں، جو پلیئر اسٹیٹ اور نیویگیشن/UI میں شاخیں بناتا ہے۔ پلیئر اسٹیٹ ContextTrack اور Restrictions تک جاتا ہے، جو MediaSession ایکسپورٹ (Android سسٹم UI اور بیرونی انضمام کو) اور Spotify پلیئر کور میں بھیجے جانے والے پلیئر کمانڈز، دونوں کو فراہم کرتے ہیں۔ اشتہارات کو عام ٹریکس کی طرح اسی پلے بیک ماڈل میں داخل کے طور پر بیان کیا گیا ہے، لیکن ان میں is_advertisement، ad_id، ad_playback_id، ad.is_skippable، اور ad.skippable_ad_delay جیسے اشتہار سے مخصوص میٹا ڈیٹا ہوتے ہیں۔ ایک بار بار سامنے آنے والا مشاہدہ یہ ہے کہ Spotify مستحکم ڈومین ماڈلز جیسے PlayerState، ContextTrack، اور protobuf request/response اقسام کو ظاہر کرتا ہے، جبکہ ارد گرد کا زیادہ تر کنکشن p204p پیکیج میں بہت زیادہ obfuscated کر دیا گیا ہے۔ اعتماد کی سطح کی لیبلنگ دستاویزات تین سطحوں میں فرق کرتی ہیں: تصدیق شدہ (Confirmed)، جو براہ راست ڈی کمپائل کوڈ، smali، وسائل، یا مینی فیسٹ میں نظر آئے؛ مضبوط اندازہ (Strong inference)، جہاں متعدد آزاد کوڈ پاتھس ایک ہی تشریح کی حمایت کریں؛ اور غیر یقینی (Uncertain)، جہاں تعمیر نو/obfuscation یا native/backend سرحد حتمی نتیجے کو روکتی ہو۔ نوٹس واضح طور پر JADX سے پیدا کردہ ناموں کو اصل سورس نام نہیں مانتے۔ یہ مواد کن چیزوں کے لیے مفید ہے اس مواد کا مقصد ان قارئین کے لیے ہے جو Android ایپ کے اندرونی نظام، میڈیا پلے بیک اسٹیٹ ہینڈلنگ، MediaSession انضمام، اور ایک بڑی obfuscated ایپلیکیشن میں اشتہارات/اسکِپ منطق کا مطالعہ کر رہے ہیں۔ یہ تحقیق اور حوالے کا وسیلہ ہے، آخری صارفین کے لیے کوئی ٹول نہیں، اور یہ کوئی کام کرنے والا ترمیم شدہ کلائنٹ فراہم کرنے کا دعویٰ نہیں کرتا۔