2 पॉइंट द्वारा GN⁺ 2025-03-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Android 11 के बाद Google ने ऐप्स के बीच क्वेरी करने पर पाबंदी लगाई, लेकिन कई ऐप्स सिर्फ AndroidManifest.xml declaration के ज़रिए इंस्टॉल की गई ऐप्स की सूची देख पा रही थीं
  • package visibility policy कहती है कि सिर्फ core functionality के लिए ज़रूरी ऐप्स ही दिखने चाहिए, लेकिन individual package declarations और ACTION_MAIN filter का इस्तेमाल बाइपास रास्ते की तरह हुआ
  • Swiggy ने 154, Zepto ने 165, KreditBee ने 860, और Moneyview ने 944 ऐप्स declare किए थे, जिससे वे देख सकते थे कि यूज़र के डिवाइस में कौन-सी खास ऐप्स मौजूद हैं
  • भारत के 47 ऐप्स के एक random sample में 31 ने ACTION_MAIN intent filter का इस्तेमाल किया, जिससे QUERY_ALL_PACKAGES के बिना भी स्क्रीन वाली ज़्यादातर इंस्टॉल्ड ऐप्स देखी जा सकती हैं
  • इंस्टॉल्ड ऐप डेटा और READ_SMS permission का इस्तेमाल profiling, differential pricing, और credit/eligibility assessment के लिए हो सकता है, लेकिन यूज़र के लिए यह जानना मुश्किल है कि ऐप कब और क्या पढ़ रही है

Android ऐप visibility policy की खामी

  • पहले Android में ऐप्स बिना किसी अलग permission के यूज़र के फ़ोन में इंस्टॉल दूसरी ऐप्स देख सकती थीं
  • Google ने Android 11 से package visibility policy लागू करके इस access को सीमित किया
    • ऐप्स को सिर्फ वही दूसरी इंस्टॉल्ड ऐप्स देखनी चाहिए जो उनकी core functionality के लिए अनिवार्य हों
    • डेवलपर को जिन ऐप्स को चेक करना है, उन्हें AndroidManifest.xml में लिखना होता है, जो हर Android ऐप की अनिवार्य configuration file है
  • file manager, browser, और antivirus ऐप्स जैसे खास use cases में QUERY_ALL_PACKAGES permission को अपवाद के रूप में अनुमति मिलती है
  • UPI payment ऐप दिखाना, ऐप cloning या multi-account ऐप detect करना जैसे मामले ऐप query करने के वैध कारण हो सकते हैं
    • जांचे गए कई manifest में payment, security, और fraud detection के लिए ऐप query शामिल थी

Swiggy और Zepto की व्यापक ऐप query

  • Swiggy ने अपने manifest में 154 package names list किए थे, जिससे वह देख सकती थी कि वे ऐप्स फ़ोन में मौजूद हैं या नहीं
    • इस सूची में Xbox, PlayStation, Naukri, और Upstox जैसी ऐप्स शामिल थीं
    • categories बहुत व्यापक थीं, इसलिए यूज़र profiling और behavioral profile बनाने के लिए डेटा collection की संभावना बड़ी है
    • Google इंस्टॉल्ड ऐप सूची को personal and sensitive user data मानता है
  • Zepto ने डिवाइस पर 165 ऐप्स चेक करने के लिए manifest में registration किया था
    • इसमें Netflix, Bumble, Binance जैसी कई categories की लोकप्रिय ऐप्स शामिल थीं
    • ऐसी रिपोर्ट आई थी कि Zepto ने iOS और Android यूज़र्स को अलग कीमतें दिखाईं, और कुछ ग्राहकों ने अलग-अलग Android फ़ोनों के बीच भी price differences report किए
  • यूज़र Play Store से ऐप इंस्टॉल करते समय यह नहीं देख सकते कि उसके manifest में कौन-सी ऐप query list शामिल है

डिलीवरी राइडर ऐप्स और personal loan ऐप्स की query range

  • Swiggy और Zepto के delivery rider ऐप्स की ऐप query list उनके consumer ऐप्स से अलग थी
    • दोनों ऐप्स में ऐसे entries शामिल थे जिनसे पता चल सकता था कि rider किन दूसरी कंपनियों के लिए काम करता है
    • Swiggy personal loan ऐप्स, personal finance ऐप्स, और Ludo King, Carrom Pool जैसे game ऐप्स तक चेक कर रही थी
  • भारत के personal loan ऐप्स की predatory practices documented हैं, और कुछ साल पहले बड़े crackdown में Play Store से हज़ारों ऐप्स हटाई गई थीं
  • KreditBee Play Store के personal loan category की top ऐप्स में से एक है, इसके 5 करोड़ से ज़्यादा downloads हैं, और इसने manifest में 860 ऐप्स चेक की थीं
    • इसमें Tamil Calendar, Odia Calendar, Qibla Direction Finder, मंदिर ऐप्स, और astrology ऐप्स जैसी entries भी थीं
    • Jodii for Diploma, +2,10 below नाम की matrimonial ऐप, जो हाई स्कूल पास न करने वालों के लिए है, और मवेशी-भैंस खरीद-बिक्री ऐप 소와 버팔로 사고팔기 Animall भी उदाहरण के रूप में दिखीं; दोनों के 1 करोड़ से ज़्यादा downloads हैं
  • Moneyview भी 5 करोड़ से ज़्यादा downloads वाली personal loan ऐप है और इसके manifest में 944 ऐप्स शामिल थीं
  • Play Store policy personal loan ऐप्स द्वारा QUERY_ALL_PACKAGES के इस्तेमाल को स्पष्ट रूप से सीमित करती है, लेकिन KreditBee और Moneyview ने मनचाही ऐप्स को manifest में एक-एक करके list करके इस सीमा को बाइपास किया

QUERY_ALL_PACKAGES के बिना ऐप सूची देखने का तरीका

  • जांचे गए ऐप्स में high-risk, sensitive permission QUERY_ALL_PACKAGES को manifest में शामिल करने का मामला सिर्फ Cred का था
    • Play Store इस permission के लिए उन ऐप्स को “temporary exception” देता है जिनका financial regulated products से जुड़ी financial transactions को facilitate करने का सत्यापित core purpose हो
    • उसी category के PhonePe और PayTM के manifest में यह permission नहीं थी
    • Cred personal loans भी देता है, इसलिए Play Store की personal loan policy के हिसाब से यह इस exception के दायरे में नहीं लगता
  • कुछ ऐप manifest में नीचे जैसा ACTION_MAIN intent filter शामिल था
<queries>
  [...]
  <intent>
    <action android:name="android.intent.action.MAIN" />
  </intent>
  [...]
</queries>
  • ACTION_MAIN filter स्क्रीन वाली ज़्यादातर इंस्टॉल्ड ऐप्स पर visibility देता था, और QUERY_ALL_PACKAGES permission के बिना भी फ़ोन की ऐप सूची देखी जा सकती थी
    • यही setting डालकर बनाए गए एक basic Android ऐप से इंस्टॉल्ड ऐप्स query करने पर फ़ोन की पूरी ऐप सूची वापस मिली
  • random तरीके से analyze किए गए भारतीय ऐप्स 47 में से 31 ने यह filter इस्तेमाल किया, यानी लगभग हर 3 में 2 ऐप्स
    • इस्तेमाल करने वाले ऐप्स: Astrotalk, Axis Mobile, Bajaj Finserv, BookMyShow, Cars24, Cure.fit, Fibe, Groww, Housing, Instamart, Ixigo, JioHotstar, KreditBee, KukuTV, LazyPay, Ludo King, Meesho, MoneyTap, Moneyview, Navi, NoBroker, Nykaa, Ola, PhonePe, PhysicsWallah, Slice, Spinny, Swiggy, Swiggy Delivery, Tata Neu, Zomato
    • इस्तेमाल न करने वाले ऐप्स: Airtel Thanks, Blinkit, Byju’s, MyGate, Dream11, Flipkart, HDFC Mobile, Healthify, INDmoney, MyJio, Paytm, PaisaBazaar, ShareChat, Unacademy, Vedantu, Zepto
  • Swiggy के पास ACTION_MAIN filter भी था, लेकिन उसने ऐप query list को अलग से स्पष्ट रूप से भी list किया था, जिससे उसके data collection practices का एक हिस्सा सामने आता है
  • पढ़ी गई manifest files android-manifest-files पर सार्वजनिक हैं, और इनमें से ज़्यादातर 18 या 19 मार्च को download की गई थीं
  • यह setting सिर्फ भारतीय कंपनियों के ऐप्स तक सीमित नहीं थी
    • Facebook, Instagram, Snapchat, Subway Surfers, और Truecaller में भी यही setting थी
    • Amazon, Spotify, X, Discord, और WhatsApp में यह नहीं थी

इंस्टॉल्ड ऐप डेटा और SMS permission की संवेदनशीलता

  • इंस्टॉल्ड ऐप डेटा संवेदनशील personal data है
    • 2022 में Vice ने रिपोर्ट किया था कि Roe v. Wade पलटे जाने की संभावना की खबर के तुरंत बाद Narrative नाम का एक data marketplace period-tracking ऐप डाउनलोड करने वाले यूज़र्स का डेटा बेच रहा था
  • किसी ऐप के manifest में इंस्टॉल्ड ऐप query के अलावा ऐसी permissions भी बड़े पैमाने पर शामिल हो सकती हैं जो ज़रूरत की सीमा से बाहर लगती हैं
  • Zepto READ_SMS permission मांगता है
    • यूज़र इसे मना कर सकते हैं, लेकिन Zepto Postpaid के लिए sign up करते समय यह अनिवार्य है
    • permission देने पर कई बैंकों के TRAI sender ID के साथ Blinkit, Swiggy, Bigbasket, और Flipkart के SMS भी उसके दायरे में आते हैं
    • ऐसा लगता है कि यह Postpaid plan eligibility check के लिए bank SMS पढ़ता है, लेकिन यूज़र उस feature को चुने बिना भी इन्हें पढ़ा जा सकता है
  • READ_SMS जैसी permission देने के बाद यूज़र यह नहीं देख सकते कि ऐप कब और क्या access कर रही है
  • Android ऐप installation जानकारी का इस्तेमाल app developers और data brokers द्वारा profiling, ad network data के साथ cross-reference, और pricing जैसे उद्देश्यों के लिए किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2025-03-30
Hacker News की राय
  • ACTION_MAIN loophole पर पहले ही चर्चा हो चुकी है: https://commonsware.com/blog/2020/04/05/android-r-package-vi...
    Google इसे patch करने की कोशिश नहीं कर रहा। सोचता हूं, अगर इसे Android VDP में permission bypass के तौर पर submit किया जाए तो क्या होगा
    bypass के बारे में लेखक का SO सवाल भी है: https://stackoverflow.com/q/79527331

    • अगर यह requirement रख दी जाए कि ACTION_MAIN declare करने वाला app सच में launcher होना चाहिए, तो लगता है यह loophole कभी न कभी बंद किया जा सकता है। सामान्य integration के लिए शायद ज्यादा specific intent इस्तेमाल करना चाहिए
      उस समय, अभी-अभी डाउनलोड किए गए किसी random game को default launcher बनाने के लिए Android का पूछना ही संदिग्ध apps के लिए काफी risky interaction बन जाएगा। संभावना है कि user बाहर निकलकर report करे, या कोई कम जानकार user उसे default launcher चुन ले, home screen खराब कर बैठे और Play Store में report कर दे। असल में launcher-level app के तौर पर distribute करने के लिए automated tests और extra requirements भी लगेंगे, जो developer पर बोझ होंगे
    • इसलिए XPL-Extended या पुराने XPrivacyLua जैसे projects बिल्कुल जरूरी हैं। Android phone इस्तेमाल करते समय इनके बिना नहीं इस्तेमाल करता
    • package visibility restrictions लागू होने के समय से ही यह loophole मौजूद था, और लगता है लगभग हर कोई इस restriction को bypass करना जानता है
      यह मानना मुश्किल है कि Google engineers को इस widely used loophole के बारे में पता नहीं होगा, लेकिन जानना चाहूंगा कि क्या कोई source है कि Google ने fix करने से इनकार किया
    • Android VDP में submit करना अच्छा idea है, लेकिन अगर वे इसे intended behavior कहकर टाल दें तो हैरानी नहीं होगी
    • “patch करने से इनकार किया” का मतलब क्या है, समझ नहीं आता। Play Store पर Google उस filter को request करने वाले non-launcher app को distribute करने की कोशिशों को reject करता है
  • मुझे अब भी बिल्कुल समझ नहीं आता कि native “apps” की जरूरत क्यों है। आज तक मैंने ऐसा कोई “app” नहीं देखा जिसके लिए website या webapp काफी न हो, और ज्यादातर मामलों में webapp शायद बेहतर ही होता
    “app” का इकलौता फायदा यही लगता है कि developer उस personal information तक पहुंच सकता है जिसकी असल में जरूरत नहीं होती
    “App Store” पर उपलब्ध होने का फायदा भी है, लेकिन App Store एक बेकार concept है जिसे Apple/Google ने बिक्री से बड़ा हिस्सा लेने के लिए बनाया है
    web browser ठीक-ठाक sandboxing देता है, “submission” fee नहीं होती, और हर phone पर हर व्यक्ति उसे access कर सकता है

    • जवाब आसान है: user experience
      व्यवहार में ज्यादातर mobile webapps खराब होते हैं। user experience native apps के आसपास भी नहीं पहुंचता। मुझे text select हो जाना पसंद नहीं, हर page पर pull-to-refresh होना पसंद नहीं, और left swipe करने पर previous page पर जाना भी पसंद नहीं
      इन समस्याओं को bypass करने के तरीके मिल सकते हैं, लेकिन नई Silk library(https://silkhq.co/) native experience के काफी करीब पहुंचने वाली पहली मिसाल लगती है। लेकिन इसका paid library होना ही दिखाता है कि यह समस्या कितनी मामूली नहीं है
    • अजीब नजरिया है। यह मूल रूप से वही सवाल है जैसे कहना कि laptop पर भी native apps की जरूरत नहीं
      native apps बहुत कुछ कर सकते हैं जो browser ठीक से नहीं कर पाता या बिल्कुल नहीं कर पाता। जैसे heavy video/audio editing, ज्यादा RAM access, GPU computation का इस्तेमाल, hardware के करीब वाले tasks—इनके लिए सिर्फ browser अभी भी पर्याप्त नहीं है
    • iOS पर जब किसी चीज का native app और webapp दोनों होते हैं, तो battery usage और lag में अक्सर बड़ा फर्क होता है। दूसरे reply की तरह, maps या notes जैसे पूरी तरह offline apps भी पसंद हैं
      इसका मतलब यह नहीं कि Apple और Google ने इसे जिस तरह implement किया है वह अच्छा है, लेकिन मुझे नहीं लगता कि सिर्फ webapps वाला future आएगा। इसी वजह से फिलहाल मैं अपने real computer को Chromebook से replace नहीं करूंगा
    • कुछ हद तक सहमत हूं। कंपनियां shopping tokens इकट्ठा और manage करने या customer support से connect करने के लिए जो apps निकालती हैं, वे website होते तो कहीं बेहतर होते
      लेकिन जो apps device पर offline काम करते हैं, और मेरे data को उन services में नहीं फैलाते जिन्हें मैं control नहीं करता, वे अब भी अच्छे हैं। मैं जहां भी रहूं, internet connection पर निर्भर नहीं रहना चाहता
      जंगल या पहाड़ों में रास्ता दिखाने वाले offline OsmAnd/Organic Maps apps अच्छे लगते हैं, और third-party server के बजाय मेरे local device से सीधे connect होकर data share करने वाले apps भी अच्छे हैं
      अगर संभव हो तो सभी apps offline-first बनाए जाने चाहिए, और जरूरत पड़ने पर ही internet मांगना चाहिए। जो app internet के बिना काम ही नहीं कर सकता, उसके लिए webapp काफी है और उसे मेरे device पर होने की जरूरत नहीं
    • सच में समझना या सहमत होना मुश्किल है। mobile web अब भी भयानक experience जैसा लगता है, और apps आम तौर पर ऐसे नहीं होते
      सोचता हूं आपने आखिरी बार mobile web पर flight ticket कब book किया था। browser जो screen space लेता है, उससे कैसे निपटते हैं, यह भी समझ नहीं आता। apps authentication cache कर सकते हैं और FaceID से handle कर सकते हैं, जबकि हर बार login करना भी समस्या है
  • इसलिए Hacker News अच्छा लगता है
    कल मुझे यह पोस्ट मिली और मैंने इसे Reddit के Android बोर्ड पर डाला: https://old.reddit.com/r/Android/comments/1jmwg4w/everyone_k...
    0 upvotes, और comments उदास लोगों या bots जैसे reactions से भरे थे
    यहाँ यह दूसरे स्थान के आसपास है, और ज्यादातर comments दिलचस्प हैं
    कई subreddits dead हैं, लेकिन r/android उनमें सबसे खराब के करीब है

    • Reddit पर ठीक-ठीक क्या हो रहा है, पता नहीं, लेकिन अगर dead internet theory कहीं सही बैठती है, तो शायद वहीं होगी
      ऊपर से, topic-specific subreddits आम तौर पर ऐसे लोगों द्वारा moderate किए जाते दिखते हैं जिनका उस topic में vested interest है, और यह community के लिए नुकसानदेह है। मैंने Meta के Llama के किस proprietary license के तहत होने और उस license का ठीक-ठीक मतलब क्या है, इस पर detail में एक पोस्ट डाली थी, लेकिन r/LocalLlama moderators ने बिना वजह manually delete कर दी, और rules को बेहतर समझने के लिए पूछने पर भी यह नहीं बताया कि क्यों हटाई
      पिछली “Reddit purge” के दौरान जब कई community moderators को Reddit employees से replace किया गया, तो मुझे लगता है कि platform का बड़ा हिस्सा अलग-अलग companies को अपनी जगह खुद moderate करने के लिए बेच दिया गया होगा
    • पोस्ट चलेगी या नहीं, किस्मत की बात है। डालो तो हो सकता है कोई response न आए, या लोग टूट पड़ें
      title के नीचे “past” link दबाओ तो 2 दिन पुराना thread है, जो पूरी तरह dead है
    • उल्टा, HN पर कोई link जिसे मैंने interesting समझा हो डालने पर भी अक्सर 0 comments आते हैं
    • r/android को subreddit blackout से बड़ा झटका लगा था, और activity बहुत कम हो गई
    • वह subreddit आम तौर पर ज्यादा युवा audience वाला है और “fanboy” attitude के करीब है, इसलिए शायद Android की आलोचना होने के कारण downvote किया
      Hacker News constructive criticism के concept को समझता है
  • “सामान्य categories से आगे जाकर Tamil Calendar, Odia Calendar, Qibla Direction Finder, mandir apps, astrology apps जैसी चीजें भी जांचता है। वे जानते हैं कि वे क्या कर रहे हैं” वाला हिस्सा मुख्य है
    यह loan app लोगों को जातीय/क्षेत्रीय पहचान (Tamil, Odia) और धर्म (Qibla Direction Finder यानी मुस्लिम, mandir app यानी हिंदू) के आधार पर profile कर रहा है

  • HSBC UK Android app installed apps को देखता है, और अगर किसी app के पास कुछ खास permissions हों तो launch करने से मना कर देता है। उदाहरण के लिए alternative launcher नहीं होना चाहिए, और अब तो Google app store के बाहर से installed एक भी app हो तो भी launch करने से मना कर देता है
    मैंने पहले यहाँ भी शिकायत की थी, लेकिन अंत में hardware security device मांगकर website ही इस्तेमाल करने लगा

    • ऐसे apps के लिए निर्देश, जो संदिग्ध और fragile hacks से काम करने से मना करते हैं, और दावा करते हैं कि इससे user “protected” है
    • दिलचस्प है कि HSBC group का FirstDirect app ऐसा problem नहीं करता। पहले root किए हुए phone पर भी चला था
    • काफी मजेदार बात है। दूसरे apps user की निगरानी कर सकते हैं, यह बताने के लिए पहले खुद user की निगरानी करनी पड़ती है
      सोचता हूँ क्या वे यह कहते भी हैं कि यह data company को भेजा नहीं जाता
    • बिल्कुल बेतुका level है। HSBC जैसा ही लगता है
  • “मेरे phone में Xbox या Playstation app installed है या नहीं, यह जानना Swiggy की core functionality के लिए क्यों जरूरी है? Naukri या Upstox app है या नहीं जानने से groceries मेरे घर तक deliver करने में क्या मदद होगी?” इस सवाल का जवाब fingerprinting purpose है

    • लोकप्रिय remote desktop apps भी check करता है। phone पर incoming connections allow करने वाले apps fraud success rate बढ़ाने के लिए इस्तेमाल हो सकते हैं
      banking apps भी इसी तरह; अगर scammer हो तो target कौन सा bank इस्तेमाल करता है, यह पहले से जानना वाकई useful है
      खासकर अगर इसे phone number से link किया जा सके, तो ऐसी जानकारी चाहने वाले groups काफी होंगे
    • fingerprinting हो तो वही शायद best-case scenario है
  • “file managers, browsers, antivirus apps जैसे बहुत specific use cases के लिए Google QUERY_ALL_PACKAGES permission exception देता है, ताकि installed apps की पूरी list देखी जा सके” वाले हिस्से में, समझ नहीं आता कि browser को installed apps enumerate करने की जरूरत क्यों है
    क्यों?!

    • जब user play.google.com URL visit करता है, तो Google यह दिखाना चाहता है कि app पहले से installed है या नहीं, उसके हिसाब से “Install” या “Launch” button
      यानी Google product management को दोष दो
    • इनमें से कुछ apps वास्तविक जरूरत से कहीं ज्यादा broad permissions मांगते हैं
      उदाहरण के लिए Obsidian पूरे file system की permission मांगता है, जबकि असल में user ने जो file दिखाने को कहा है, उसी तक access काफी है
    • file manager को full access चाहिए। क्योंकि उस function से system में installed किसी भी app का code extract और inspect किया जा सकता है
      यह बहुत useful feature है, इसलिए इसके हटने पर बुरा लगेगा
    • शायद यह check करना हो कि कौन सा app link handle कर सकता है
  • “हर कोई आपके फोन के सभी ऐप जानता है” वाली बात Android फोन के बारे में है। iPhone में ऐसी privacy protection कमी नहीं है

    • असल में यह private API से संभव है। Apple ऐप्स इसे हमेशा इस्तेमाल करते हैं, लेकिन दूसरे ऐप्स के लिए इसका उपयोग प्रतिबंधित है
      https://blog.verichains.io/p/technical-analysis-improper-use...
    • कुछ मायनों में iOS और भी खराब है। अगर आप कंपनी MDM में enrolled हैं, तो कंपनी सभी ऐप्स देख सकती है
      Android में आजकल standard तरीका work profile इस्तेमाल करना है, जिसमें सिर्फ work profile के अंदर के ऐप्स देखे जा सकते हैं
    • iPhone privacy nightmare के मामले में थोड़ा कम खराब है
      ऐप बनाने के सबसे बड़े incentives में से एक यूजर से तरह-तरह का डेटा scrape करना है। देखिए कितने ऐप्स contacts access permission मांगते हैं, और उनमें से कितने ऐप्स को असल functionality के लिए contacts की सच में जरूरत होती है। इसलिए अब भी थोड़ा आश्चर्य होता है कि ऐसी खोजों पर इतने लोग चौंक जाते हैं
    • iOS में कुछ साल पहले इसे कुछ हद तक mitigate किया गया था
      पहले custom URI scheme के जरिए ऐप से communicate करने की कोशिश की जा सकती थी, और अगर success मिलती तो पता चल जाता कि वह ऐप installed है। Twitter ने इसे fingerprinting के लिए इस्तेमाल किया था
      अब ऐप को special intents accept करने होते हैं, और उस purpose के लिए इस्तेमाल किए जाने वाले ऐप्स की list explicitly बतानी होती है
    • iPhone की बात चली तो एक चीज़ को लेकर उत्सुक हूं। कभी-कभी [पुराना] नया ऐप major follows देखने भर के लिए काफी होता है, इसलिए मैं web app से login करता हूं
      हाल में उनके LLM feature में बड़ा update आया, तो मैंने ऐप install करके देखा। ऐप installed रहने के दौरान जब भी mobile website देखता था, ऐप पर जाने को कहने वाला बड़ा banner दिखता था, और ad blocker या distraction blocker से भी नहीं हटता था। ऐप फिर से delete किया तो वह गायब हो गया
      ऐसा क्यों होता है? मैं जानना चाहता हूं कि mobile website को ऐप install होने का पता कैसे चलता है। जब ऐप installed नहीं होता, तो content/distraction blocker से ऐप इस्तेमाल करने के prompts सभी block किए जा सकते हैं, लेकिन installed होने पर ऐसा क्यों नहीं हो पाता?
  • Root की जरूरत है, लेकिन LSPosed[1] module XPrivacyLua[2] जैसी चीज़ों से इसे block या spoof किया जा सकता है। सुना है closed-source AppOps[3] भी है, लेकिन मैंने इस्तेमाल नहीं किया
    [1]: https://lsposed.org
    [2]: https://github.com/M66B/XPrivacyLua / https://github.com/0bbedCode/XPL-EX
    [3]: https://appops.rikka.app

    • XPrivacyLua के बारे में पहली बार सुना, और यह उसी author का ऐप है जिसके शानदार NetGuard[0] को मैं कई सालों से इस्तेमाल कर रहा हूं
      दिलचस्प है कि XPrivacyLua अब supported नहीं है, और उसका pro companion app Google द्वारा Play Store से हटाया जाने वाला है, क्योंकि वह QUERY_ALL_PACKAGES permission इस्तेमाल करता है
      [0]: https://github.com/M66B/NetGuard
      [1]: https://xdaforums.com/t/closed-app-xposed-6-0-xprivacylua-an...
  • सोच रहा हूं कि क्या Windows apps, खासकर वे जो MS Store से install नहीं किए गए हैं, सभी open windows के titles enumerate कर सकते हैं। सिर्फ title के आधार पर पूरे web traffic को monitor करना किसी app के लिए कितना मुश्किल होगा?
    यह सचमुच सवाल है। ChatGPT हर बात पर हां में हां मिलाता है, इसलिए खास मदद नहीं करता; मुझे किसी ऐसे व्यक्ति की जरूरत है जो बताए कि real world में यह feasible क्यों नहीं है

    • लंबे समय से Win32 पर काम करने वाले programmer के तौर पर कहूं तो यह संभव है। यह intended design है। analogy दें तो Windows एक high-trust society जैसा है
      इस उद्देश्य के लिए EnumWindows() और EnumChildWindows() functions हैं
      इस feature के उदाहरण के तौर पर “Windows Modifier v2.00” utility और Microsoft का Spy++(SPYXX.EXE) देख सकते हैं। जब मैंने इसे पहली बार लिया था, तब इससे जुड़े कई pages थे, लेकिन अब exact नाम से search करने पर भी लगभग कुछ नहीं मिलता—ऐसा लगता है जैसे internet अच्छी तरह भूलने लगा है
      जिन apps पर भरोसा नहीं है, उनका समाधान है कि उन्हें बिल्कुल न इस्तेमाल करें या VM में इस्तेमाल करें
    • अधिकांश apps न सिर्फ system में खुली दूसरी सभी windows के titles देख सकते हैं, बल्कि सभी keystrokes record कर सकते हैं, screenshots ले सकते हैं, user या screen का audio/video record कर सकते हैं, और home directory की files copy या delete भी कर सकते हैं। यह explicit permission या notification के बिना संभव है
      कम से कम Windows और अधिकांश traditional *nix systems, खासकर X11 में यह बात सही है
      इस मामले में Android ने एक चीज़ अच्छी की है। default रूप से वह सभी applications को अलग-अलग users के रूप में चलाता है। यानी home folder अलग होता है और वे दूसरे apps नहीं देख सकते
    • सिर्फ window title से web traffic monitor करना बहुत accurate नहीं होगा, क्योंकि page titles काफी variable होते हैं
      फिर भी ManicTime या ActivityWatch जैसे tools, browser plugin install न होने पर, window title से browser history track करते हैं
      https://www.manictime.com/
      https://activitywatch.net/
    • Windows काफी अलग है, और उसका security model ज्यादा ढीला और पुराना है। एक ही desktop पर चलने वाली windows के बीच कोई security barrier नहीं है
      खासकर “UAC [अब भी] security barrier नहीं है” बात सही है। जब आप process को elevate करने के लिए confirm दबाते हैं या password डालते हैं, तो असल में आप पूरे desktop और उस पर चल रही हर चीज़ को साथ में elevate कर देते हैं
    • सही है। AutoHotKey का यह कर पाना कई उपयोगी AHK scripts की बुनियाद है