APK انسٹال کرنے سے پہلے Android ایپ کی اجازتوں کو کیسے دیکھیں

A smartphone showing a list of app permissions with a magnifying glass

جب آپ Google Play Store سے کوئی ایپ انسٹال کرتے ہیں، تو Android اس بات کا آسان خلاصہ دکھاتا ہے کہ ایپ کس چیز تک رسائی حاصل کر سکتی ہے۔ کسی نان پلے سورس سے ایک APK کو سائیڈ لوڈ کریں اور آپ کے پاس ایسا کوئی حفاظتی جال نہیں ہے، جب تک کہ آپ خود مینی فیسٹ نہ پڑھیں۔ "کیا وال پیپر ایپ کو واقعی SMS اور مائکروفون تک رسائی کی ضرورت ہے؟" بالکل وہی سوال ہے جس کے جواب میں یہ گائیڈ آپ کی مدد کرے گی۔

اس کے بعد وہی ورک فلو ہے جو ہماری ٹیم کسی ناواقف APK کو ٹرائی کرتے وقت استعمال کرتی ہے: اسے کھولیں، uses-permission اندراجات پڑھیں، تحفظ کی سطحوں کو ڈی کوڈ کریں، اور اس کا موازنہ کریں کہ کہتے ہیں ایپ کو کس چیز کی ضرورت ہے اس کے مقابلے میں جو اس کے زمرے کو عام طور پر درکار ہے۔ ہمارا آن لائن APK معلوماتی ٹول آپ کے لیے بائنری-XML ضابطہ کشائی کرتا ہے لہذا اس پورے عمل میں تقریباً دس سیکنڈ لگتے ہیں۔

پڑھنے کا وقت: ~9 منٹ۔ اوزار کی ضرورت ہے: ایک براؤزر؛ اختیاری طور پر apksigner اور aapt2 اگر آپ ٹرمینل سے وہی چیک کرنا چاہتے ہیں تو Android SDK سے۔ آپ آخر میں کیا کر سکیں گے: کسی بھی APK کی مکمل اجازت کی فہرست کو پڑھیں، چار یا پانچ "اعلی اثرات والی" درخواستوں کو دیکھیں جو تقریباً ہمیشہ پریشانی کی نشاندہی کرتی ہیں، اور فیصلہ کریں کہ آیا انسٹال کرنے سے پہلے انسٹال کرنا ہے، بعد میں نہیں۔

آڈیٹنگ کی اجازتوں کی زحمت کیوں؟

نقصان دہ ڈیولپرز مشہور مفت ایپس لیتے ہیں، ان میں ردوبدل کرتے ہیں، اور انہیں فریق ثالث کی سائٹس پر دوبارہ جاری کرتے ہیں۔ اگرچہ ایپ عام طور پر نظر آتی ہے اور کام کر سکتی ہے، اس کا پوشیدہ کوڈ آپ کی رابطہ فہرست کو کاپی کر رہا ہو یا آپ کے پس منظر کی آڈیو کو ریکارڈ کر رہا ہو۔ اجازتیں پہلے سے تنصیب دیکھ کر، آپ "اجازت کریپ" کے ان سرخ جھنڈوں کو دیکھ سکتے ہیں۔

کسی بھی APK فائل کا آڈٹ کیسے کریں (آن لائن)

ہمارا APK معلوماتی ٹول آپ کی فائل کا مینی فیسٹ مکمل طور پر آپ کے براؤزر میں پڑھتا ہے۔ فائل کو کبھی بھی سرور پر اپ لوڈ نہیں کیا جاتا ہے، اور کوئی کوڈ نہیں چلتا ہے۔ اسے استعمال کرنے کا طریقہ یہاں ہے:

عمل:

  1. APK معلوماتی صفحہ پر جائیں۔
  2. اپنی .apk فائل منتخب کریں۔
  3. تجزیہ ختم ہونے کا انتظار کریں (عام طور پر 5 سیکنڈ)۔
  4. اجازتوں کا سیکشن تک نیچے سکرول کریں۔
  5. زیادہ خطرے والے جھنڈے تلاش کریں جیسے: READ_SMS، PROCESS_OUTGOING_CALLS، یا ACCESS_FINE_LOCATION۔

اجازت سرخ پرچم کی فہرست

اگر کیلکولیٹر یا ٹارچ ایپ READ_CONTACTS یا RECORD_AUDIO مانگتی ہے، تو فائل کو فوری طور پر حذف کر دیں۔ ان ایپس کے پاس ڈیٹا رکھنے کی کوئی جائز وجہ نہیں ہے۔

Android اجازت کی سطح کو سمجھنا

تمام اجازتیں برابر نہیں بنائی گئی ہیں۔ Android انہیں تین سطحوں میں درجہ بندی کرتا ہے:

دستی طریقہ (زپ ویور کا استعمال کرتے ہوئے)

اگر آپ کے پاس کچھ تکنیکی مہارت ہے، تو آپ اجازتوں کا خود آڈٹ کر سکتے ہیں:

  1. app.apk کا نام بدل کر app.zip کر دیں اور اسے کھولیں۔
  2. AndroidManifest.xml تلاش کریں۔ (نوٹ: یہ بائنری فارمیٹ میں ہے اور ٹیکسٹ ایڈیٹر میں گببرش کی طرح نظر آئے گا)۔
  3. اسے پڑھنے کے قابل متن میں تبدیل کرنے کے لیے AXMLPrinter جیسے ٹول کا استعمال کریں۔
  4. <uses-permission> سے شروع ہونے والے ٹیگز تلاش کریں۔

تجویز: ہمارا آن لائن ٹول استعمال کرنا بہت تیز ہے جو آپ کے لیے اسے فوری طور پر ڈی کوڈ کرتا ہے۔

اپنی ایپس کا ابھی آڈٹ کریں۔

بالکل جانیں کہ آپ کی ایپس کیا مانگ رہی ہیں۔ کوئی راز نہیں، کوئی خطرہ نہیں۔

APK کی اجازتیں چیک کریں۔

اصل میں AndroidManifest.xml میں کیا ذخیرہ کیا جاتا ہے۔

مینی فیسٹ ہر اجازت، جزو، اور خصوصیت کے لیے سچائی کا ماخذ ہے جس کا کوئی ایپ اعلان کرتا ہے۔ ایک APK کے اندر، فائل بائنری XML فارم میں ہے، وہ سادہ متن نہیں جو آپ سورس کوڈ میں دیکھتے ہیں، لہذا اسے عام ٹیکسٹ ایڈیٹر کے ساتھ نہیں پڑھا جا سکتا۔ ہمارا APK انفارمیشن ٹول بائنری XML کو ڈی کوڈ کرتا ہے اور متعلقہ ٹیگز کو ظاہر کرتا ہے۔ سب سے اہم ہیں:

پرمیشن پروٹیکشن لیولز: چیٹ شیٹ

Android ہر اجازت کو "تحفظ کی سطح" تفویض کرتا ہے۔ یہ جاننا کہ درخواست کس سطح سے تعلق رکھتی ہے آپ کو بتاتا ہے کہ OS اس کے ساتھ کتنی سنجیدگی سے سلوک کرے گا۔

تحفظ کی سطح صارف کا تجربہ مثالیں
عام انسٹال کے وقت خاموشی سے دی گئی۔ کوئی پرامپٹ نہیں۔ انٹرنیٹ، وائبریٹ، ACCESS_NETWORK_STATE، WAKE_LOCK
خطرناک پہلی بار فیچر استعمال ہونے پر رن ​​ٹائم پرامپٹ۔ ترتیبات میں قابل تنسیخ۔ کیمرا، RECORD_AUDIO، READ_CONTACTS، ACCESS_FINE_LOCATION
دستخط گرانٹنگ ایپ یا OS جیسے ہی سرٹیفکیٹ کے ساتھ دستخط شدہ ایپس کو ہی دی جاتی ہے۔ BIND_VPN_SERVICE، INSTALL_PACKAGES (صرف سسٹم)
دستخط | مراعات یافتہ سسٹم امیج کی priv-app ڈائرکٹری میں صرف پہلے سے انسٹال کردہ ایپس کے لیے دستیاب ہے۔ MANAGE_USERS، READ_LOGS
appop / کردار فعال کرنے کے لیے علیحدہ سیٹنگ فلو کی ضرورت ہے۔ SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (خصوصی سسٹم اجازتیں)

"چھپی ہوئی" اجازتوں کا اصل مطلب کیا ہے۔

ایک عام غلط فہمی یہ ہے کہ کچھ اجازتیں خفیہ ہوتی ہیں۔ وہ نہیں ہیں: ہر اجازت جو کوئی ایپ استعمال کر سکتی ہے اسے AndroidManifest.xml میں ظاہر کیا جانا چاہیے، اور OS ایسی کوئی اجازت دینے سے انکار کرتا ہے جو وہاں درج نہیں ہے۔ لوگ عام طور پر "پوشیدہ" سے کیا مراد لیتے ہیں دو چیزوں میں سے ایک ہے:

کسی بھی طرح سے، جواب ایک ہی ہے: مینی فیسٹ کو پڑھیں، خود ہی پلے اسٹور کی تفصیل پر بھروسہ نہ کریں۔

کام کی مثال: ایک حقیقی APK کا آڈٹ کرنا

فرض کریں کہ آپ کے ڈاؤن لوڈز فولڈر میں example.apk ہے۔ یہاں درست کام کا بہاؤ ہے:

  1. اپنے براؤزر میں APK معلوماتی ٹول کھولیں۔
  2. اپ لوڈ ایریا پر APK کو چھوڑ دیں۔ پروسیسنگ مقامی طور پر ہوتی ہے؛ فائل آپ کے آلے کو نہیں چھوڑتی ہے۔
  3. اجازتیں سیکشن پڑھیں۔ ہر اندراج مستقل نام (android.permission.READ_CONTACTS اور اس کی اجازت دیتا ہے اس کی سادہ زبان کی وضاحت دکھاتا ہے۔)
  4. ایپ کے زمرے سے فہرست کا موازنہ کریں۔ موٹے طور پر، توقع کریں:
    • کیمرہ ایپس: کیمرہ، RECORD_AUDIO (ویڈیو کے لیے)، STORAGE/MEDIA لکھیں
    • میسجنگ ایپس: انٹرنیٹ، READ_CONTACTS، SEND_SMS (صرف SMS پر مبنی ہونے پر)، RECORD_AUDIO (صوتی نوٹس کے لیے)، کیمرہ (تصاویر بھیجنے کے لیے)
    • گیمز: انٹرنیٹ، کبھی کبھی RECORD_AUDIO (اندر گیم وائس چیٹ کے لیے)، بلنگ سے متعلق اجازتیں؛ شاذ و نادر ہی کچھ اور
    • یوٹیلیٹی ایپس (کیلکولیٹر، فلیش لائٹ، موسم): انٹرنیٹ (اشتہارات کے لیے)، ACCESS_NETWORK_STATE، ممکنہ طور پر LOCATION (صرف موسم)۔ اس سے آگے کی کوئی بھی چیز مشکوک ہے۔
  5. اگر فہرست میں کوئی چیز زمرے کے مطابق نہیں ہے تو انسٹال نہ کریں۔ کیلکولیٹر کو SMS تک رسائی کی ضرورت کی کوئی معقول وجہ نہیں ہے۔

وہی منطق لاگو ہوتی ہے چاہے فائل ایک APK ہو، ایک XAPK (جہاں ہم اندرونی بیس APK کو پڑھتے ہیں)، یا ایک APKS بنڈل (جہاں ہم ہر اسپلٹ کا مینی فیسٹ پڑھتے ہیں)۔

کمانڈ لائن سے کرنا

اگر آپ ٹرمینل روٹ کو ترجیح دیتے ہیں تو، Android SDK aapt2 بھیجتا ہے، جو سادہ XML میں کسی بھی APK سے مینی فیسٹ ڈمپ کرتا ہے:

aapt2 dump badging example.apk | grep "uses-permission"

یا ایک ہی وقت میں دستخطی سرٹیفکیٹ کی تصدیق کے لیے apksigner استعمال کریں:

apksigner verify --print-certs example.apk

براؤزر ٹول ان صارفین کے لیے وہی کام کرتا ہے جو صرف ایک فائل کی جانچ کرنے کے لیے SDK انسٹال نہیں کرتے۔

اکثر پوچھے گئے سوالات (FAQ)

کیا میں APK انسٹال کرنے کے بعد اجازت سے انکار کر سکتا ہوں؟

جی ہاں اینڈروئیڈ 6.0 اور اس سے زیادہ پر، آپ انفرادی خطرناک اجازتوں کو آن یا آف کرنے کے لیے ترتیبات > ایپس > [ایپ کا نام] > اجازتیں۔ پر جا سکتے ہیں۔

کیا XAPK فائلوں کو مختلف اجازتیں ہیں؟

ایک XAPK میں ایک یا زیادہ APKs ہوتے ہیں۔ ہر APK کے اندر اس کا اپنا مینی فیسٹ ہوتا ہے۔ ہمارا ٹول آپ کو متعلقہ اجازتیں دکھانے کے لیے بنڈل کے اندر مین APK کا تجزیہ کرے گا۔

ہر ایپ "نیٹ ورک تک رسائی" کیوں مانگتی ہے؟

تجزیات، بگ رپورٹنگ، یا اشتہارات کے لیے تقریباً تمام ایپس کو انٹرنیٹ تک رسائی کی ضرورت ہوتی ہے۔ اگرچہ یہ ایک عام بات ہے، یہ چوری شدہ ڈیٹا کو ہیکر کے سرور پر بھیجنے کا طریقہ بھی ہے۔

انسٹال کرنے سے پہلے مینی فیسٹ کی اجازتوں کا معائنہ کرنا

آپ جو نہیں دیکھ سکتے اس کا فیصلہ نہیں کر سکتے۔ آپ کو سائڈ لوڈ کرنے سے پہلے APK کی اجازتیں دیکھیں پر دس سیکنڈ خرچ کرنا یہ جاننے کے درمیان فرق ہے کہ کوئی ایپ کس تک پہنچ سکتی ہے اور صرف اس امید میں کہ وہ برتاؤ کرے گی۔ پہلے فہرست پڑھیں، اور دوسری انسٹال کریں۔

انجینئرڈ اور دستاویزی Mst Shafale کے ذریعہ لیڈ ڈیولپر اور Android پیکیج آرکیٹیکٹ • Android 12–15 پر تصدیق شدہ

Mst Shaefale xapktoapk.com پر کلائنٹ سائڈ XAPK/APKS انضمام، بائنری مینی فیسٹ پارسر، اور APK v1+v2 سائننگ ٹولز کو برقرار رکھتی ہے۔ ایک پرانی کمانڈ یا OS کی تبدیلی کو اسپاٹ کریں؟ ایک ادارتی نوٹ بھیجیں۔