একটি APK ইনস্টল করার আগে Android অ্যাপের অনুমতিগুলি কীভাবে দেখবেন

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

আপনি যখন Google Play Store থেকে একটি অ্যাপ ইনস্টল করেন, তখন Android অ্যাপটি কী অ্যাক্সেস করতে পারে তার একটি সরলীকৃত সারাংশ দেখায়। একটি নন-প্লে সোর্স থেকে একটি APK সাইডলোড করুন এবং আপনি নিজে ম্যানিফেস্টটি না পড়লে আপনার কাছে এমন কোনো নিরাপত্তা জাল নেই। "একটি ওয়ালপেপার অ্যাপ কি সত্যিই এসএমএস এবং মাইক্রোফোন অ্যাক্সেসের প্রয়োজন?" ঠিক এই ধরনের প্রশ্ন এই গাইড আপনাকে উত্তর দিতে সাহায্য করবে।

একটি অপরিচিত 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 (ভিডিওর জন্য), স্টোরেজ/মিডিয়া লিখুন
    • মেসেজিং অ্যাপস: INTERNET, READ_CONTACTS, SEND_SMS (শুধুমাত্র SMS-ভিত্তিক হলে), RECORD_AUDIO (ভয়েস নোটের জন্য), ক্যামেরা (ছবি পাঠানোর জন্য)
    • গেম: ইন্টারনেট, কখনও কখনও RECORD_AUDIO (ইন-গেম ভয়েস চ্যাটের জন্য), বিলিং-সম্পর্কিত অনুমতি; কদাচিৎ অন্য কিছু
    • ইউটিলিটি অ্যাপস (ক্যালকুলেটর, ফ্ল্যাশলাইট, আবহাওয়া): ইন্টারনেট (বিজ্ঞাপনের জন্য), ACCESS_NETWORK_STATE, সম্ভবত LOCATION (শুধুমাত্র আবহাওয়া)। এর বাইরে কিছু সন্দেহজনক।
  5. তালিকার কিছু যদি বিভাগের সাথে খাপ খায় না, ইনস্টল করবেন না। একটি ক্যালকুলেটর এসএমএস অ্যাক্সেস প্রয়োজন কোন ভাল কারণ নেই.

ফাইলটি একটি 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 ইনস্টল করার পরে একটি অনুমতি অস্বীকার করতে পারি?

হ্যাঁ। Android 6.0 এবং উচ্চতর সংস্করণে, আপনি পৃথক বিপজ্জনক অনুমতিগুলি চালু বা বন্ধ করতে সেটিংস > অ্যাপস > [অ্যাপের নাম] > অনুমতি-এ যেতে পারেন।

XAPK ফাইলের বিভিন্ন অনুমতি আছে?

একটি XAPK-এ এক বা একাধিক APK থাকে৷ প্রতিটি APK এর ভিতরের নিজস্ব ম্যানিফেস্ট রয়েছে। আমাদের টুলটি আপনাকে প্রাসঙ্গিক অনুমতিগুলি দেখানোর জন্য বান্ডেলের মধ্যে প্রধান APK বিশ্লেষণ করবে।

কেন প্রতিটি অ্যাপ "নেটওয়ার্ক অ্যাক্সেস" জিজ্ঞাসা করে?

বিশ্লেষণ, বাগ রিপোর্টিং বা বিজ্ঞাপনের জন্য প্রায় সব অ্যাপেরই ইন্টারনেট অ্যাক্সেস প্রয়োজন। যদিও এটি সাধারণ, এটি যেভাবে চুরি করা ডেটা হ্যাকারের সার্ভারে পাঠানো হয়।

আপনি ইনস্টল করার আগে ম্যানিফেস্ট অনুমতিগুলি পরিদর্শন করুন৷

আপনি যা দেখতে পাচ্ছেন না তার বিচার করতে পারবেন না। আপনি সাইডলোড করার আগে একটি APK এর অনুমতি দেখুন-এ দশ সেকেন্ড সময় ব্যয় করা হল একটি অ্যাপ কী পৌঁছাতে পারে তা জানা এবং কেবল এটি আচরণ করবে আশা করার মধ্যে পার্থক্য। প্রথমে তালিকাটি পড়ুন এবং দ্বিতীয়টি ইনস্টল করুন।

Mst Shafale দ্বারা প্রকৌশলী এবং নথিভুক্ত লিড ডেভেলপার এবং Android প্যাকেজ আর্কিটেক্ট • Android 12-15-এ যাচাই করা হয়েছে

Mst Shaefale xapktoapk.com-এ ক্লায়েন্ট-সাইড XAPK/APKS মার্জার, বাইনারি ম্যানিফেস্ট পার্সার, এবং APK v1+v2 সাইনিং টুল বজায় রাখে। একটি পুরানো কমান্ড বা OS পরিবর্তন স্পট? একটি সম্পাদকীয় নোট পাঠান.