প্রস্তাবনা
এটি দেরিতে হতে পারে তবে আমি সম্পূর্ণরূপে আপনার প্রশ্নটি আমার নিজের করে নিতে চাই। এই উত্তরটি কোনও অ্যাপ্লিকেশনটিতে ইন্টারনেট অ্যাক্সেস ব্লক করার একটি নিশ্চিত উপায়। ডাউনসাইডস? এটি উদ্দেশ্যগুলি অবরুদ্ধ করে না, এটি সংশ্লেষিত এবং লক্ষ্যযুক্ত অ্যাপ্লিকেশন ক্রাশ হতে পারে এবং এর জন্য মূল অধিকারগুলির প্রয়োজন ।
এটি পরীক্ষা করা হয়েছে এবং অ্যান্ড্রয়েড 7.1.2 পর্যন্ত কাজ করার জন্য নিশ্চিত করা হয়েছে।
যুক্তিসহ ব্যাখ্যা
অন্যান্য উত্তরদাতাদের দ্বারা যেমন উল্লেখ করা হয়েছে যে কোনও অ্যাপ্লিকেশন যা ইন্টারনেট অ্যাক্সেস করতে চায়, অবশ্যই android.permission.INTERNET
তার মধ্যে অনস্বীকার্য অনুমতি ঘোষণা করতে হবে AndroidManifest.xml
। যদিও কোনও অ্যাপ্লিকেশন অনুরোধ করেছে এমন কোনও অ্যাপ্লিকেশন অ্যান্ড্রয়েড কীভাবে মনে করতে পারে? তাদের ভিতরে সংরক্ষণ করে packages.xml
, একটি সুরক্ষিত ফাইল অবস্থিত /data/system
।
এটি বলা ছাড়াই যায় যে আমাদের মতো কেউ যদি ফাইলটি সম্পাদনা করতে আগ্রহী হতে পারে তবে অনুমতি যুক্ত করতে বা অপসারণের উদ্দেশ্যে , যদি তাদের মূল অধিকার থাকে। ভিপিএন বা ফায়ারওয়াল সফ্টওয়্যার ছাড়াই কোনও অ্যাপ্লিকেশনটিতে ইন্টারনেট অ্যাক্সেসটিকে অস্বীকার করার আমাদের উপায়।
packages.xml
ফাইল
packages.xml
ফাইল তালিকা ইনস্টল করা অ্যাপ্লিকেশান সব একসাথে তাদের পথ এবং অনুমতিসহ। প্রতিটি অ্যাপ্লিকেশন <package></package>
ট্যাগের মধ্যে স্থাপন করা হয় ; আমার উত্তরের জন্য, আমি টেসলাকয়েল দ্বারা নোভা লঞ্চারকে লক্ষ্য করব। ফাইলটিতে অ্যাপের স্তবটি নিম্নরূপ:
<package name="com.teslacoilsw.launcher" codePath="/data/app/com.teslacoilsw.launcher-1" nativeLibraryPath="/data/app/com.teslacoilsw.launcher-1/lib" publicFlags="944258628" privateFlags="0" ft="16075caace8" it="16075cac965" ut="16075cac965" version="53000" userId="10083" installer="com.android.packageinstaller">
<sigs count="1">
<cert index="7" key="3082034d30820235a0030201020204638fbad3300d06092a864886f70d01010b05003057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b301e170d3134313230353030343535375a170d3434313132373030343535375a3057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b30820122300d06092a864886f70d01010105000382010f003082010a0282010100818b312365be3e55f48989d43468880067464eca65aa3ba73305178311fc2a053c143182f6d2ea635b57dc327adf8a5a9b763c03f0a48c38530114e6979358d6bfca37d161ca6fe8bb0d80f061d7b67bc1456cdfc38e0cda2ebd05c48113f701140950f0fe4315de6b95c7504129abb2c1a61f1e4f1229fb83f474dbcd7dc957b84a1b8a2aa0157b223609d77980a3f579c93fbb24a6f9fbb5a8e207cccdf1add616c95c732d5c114c0168fdbd9c00ddf211c2b8886b9498a34f389025802e334f404b7e4eb75f6308f086e5bdac64db10053c7ff8d21a350b941d5394ffbe2bd037139134eb065c2317625e65d3f628aecf7965a0d70b02e68aa8371efd1fe50203010001a321301f301d0603551d0e04160414a4e66b693ecdf3241883e3eed668354e1531ba11300d06092a864886f70d01010b050003820101003992f3f461a290db767911a4a519f035fe0c34e597e2fba2e31371e260bd2fc8f9a93c35e6f06553d02588d2f8453ee784d2ba09a696e66304e3e01f7c6bdf5b2747fc73f79d00379cc94eefa542c8eb308318364df2fa1a9c6a7ef0669d08f7b1f8635d0d4331e2817d5aeb0854760116c29801cf915ef67d5c0e04861cad4fa7b96fe8f9a0baf0cda649cd35a7122142ba38b2d16d9d319a8604a41fe0025d89be87f84ce8fc080ab54c76a96f3d9b70b1a5f5e18e48768e3684bca8a950665e16a6d50cf0045949baebca876d55eeba52ea421f33009872d9d654f8f8caa1bb465d754694d4bf6cb92f3299fbec3781849b37e6ba23ffe3d6c20ecb9bc65d" />
</sigs>
<perms>
<item name="com.android.launcher3.permission.READ_SETTINGS" granted="true" flags="0" />
<item name="com.google.android.c2dm.permission.RECEIVE" granted="true" flags="0" />
<item name="com.teslacoilsw.launcher.permission.C2D_MESSAGE" granted="true" flags="0" />
<item name="android.permission.EXPAND_STATUS_BAR" granted="true" flags="0" />
<item name="android.permission.WRITE_MEDIA_STORAGE" granted="true" flags="0" />
<item name="android.permission.INTERNET" granted="true" flags="0" />
<item name="android.permission.ACCESS_NETWORK_STATE" granted="true" flags="0" />
<item name="android.permission.SET_WALLPAPER" granted="true" flags="0" />
<item name="android.permission.SET_WALLPAPER_HINTS" granted="true" flags="0" />
<item name="android.permission.VIBRATE" granted="true" flags="0" />
<item name="android.permission.ACCESS_WIFI_STATE" granted="true" flags="0" />
<item name="android.permission.WAKE_LOCK" granted="true" flags="0" />
</perms>
<proper-signing-keyset identifier="10" />
</package>
ফাইলটি থেকে ইন্ডেন্টেশনটি ভারব্যাটিমের রিপোর্ট করা হয়েছে।
কার্যপ্রণালী
উপরের জ্ঞান দিয়ে সজ্জিত, আমরা এখন নোভা লঞ্চারের অনুমতিগুলি পরীক্ষা করতে এগিয়ে যেতে পারি, এর মধ্যে আবৃত <perms></perms>
। শীঘ্রই যথেষ্ট, আমরা সম্পাদনা করার জন্য আমাদের কেবলমাত্র একটিটি খুঁজে পাব:
<item name="android.permission.INTERNET" granted="true" flags="0" />
অ্যাপ্লিকেশনটিতে কার্যকরভাবে ইন্টারনেট অ্যাক্সেস অস্বীকার করতে, আমাদের কেবল সম্পূর্ণ লাইনটি মুছে ফেলা এবং আমাদের ডিভাইসটি পুনরায় বুট করা দরকার। ভবিষ্যতের ব্যবহারের জন্য এটির মন্তব্য করা অকেজো: অ্যান্ড্রয়েড প্রতিটি বুটে এই ফাইলটি পরীক্ষা করে এবং আপনার মন্তব্যগুলি পরিষ্কার করবে ।
অপূর্ণতা
এই প্রক্রিয়াটি অনুসরণ করা আপনাকে এমন অ্যাপ্লিকেশনটিকে নেট করবে যা কোনওভাবেই ইন্টারনেটের সাথে যোগাযোগ করতে পারে না। যাইহোক, মার্শমেলো এবং তারপরের জন্য নির্ধারিত দুর্বল কোডযুক্ত অ্যাপ্লিকেশন এবং সফ্টওয়্যার ইন্টারনেটের সাথে সংযোগ স্থাপনের চেষ্টা করার পরে ক্রাশ হতে পারে , নোভা যেমন করে।
তদুপরি, ফায়ারলর্ড দ্বারা চিহ্নিত হিসাবে, একটি অ্যাপ্লিকেশন আপডেট করা পরিবর্তনগুলি ফিরিয়ে আনার কারণ হিসাবে কার্যকরভাবে আমাদের প্রচেষ্টাগুলিকে কার্যকর করে এবং নতুনভাবে মুছে ফেলার অনুমতি প্রয়োজন।
এই প্রক্রিয়া সংশোধন
আমরা উপরে যা করেছি তার বিপরীতমুখী করার জন্য যা দরকার তা হ'ল আমরা অন্যদের মধ্যে মুছে ফেলা অনুমতি যুক্ত করা এবং ডিভাইসটি পুনরায় বুট করা।
দাবি পরিত্যাগী
আমি কোনওভাবেই নোভা লঞ্চার বা এর বিকাশকারীদের সাথে অনুমোদিত নয়।