एक ही स्थान पर आसानी से ऑडिट ऐप की अनुमति?


28

क्या आपके फोन पर इंस्टॉल किए गए सभी एप्लिकेशन और एक पेज पर उन सभी अनुमतियों को सूचीबद्ध करने की आवश्यकता है, या सूची निर्यात करें, ताकि यह आसानी से ऑडिट किया जा सके?

जवाबों:


14

अनुमति वॉचडॉग या अनुमतियाँ जैसे बाज़ार एप्लिकेशन का उपयोग करें । इसके अलावा, कई अन्य हैं।


दुर्भाग्य से, एप्लिकेशन इंस्टॉल करते समय सभी अनुमतियों को सूचीबद्ध नहीं किए जाने पर मार्केट एप्लिकेशन में एक बग (या इच्छित सुविधा?) है। पुराने एंड्रॉइड रिलीज़ के लिए डिज़ाइन किए गए सॉफ़्टवेयर के साथ यह एक संगतता समस्या हो सकती है ... code.google.com/p/android/issues/detail?id=9365
डेनिस निकोलाएंको

2
शायद आप जवाब में टिप्पणी सहित सरल हो जाएगा।
bbaja42

@ नोकोलोन्को, जाहिर तौर पर यह उद्देश्य पर है और अब बदल गया है: android.stackexchange.com/questions/605/…
ब्लैकशिफ्ट डिक

@BlackShift, "अब बदल गया" से आपका क्या मतलब है? Android देव द्वारा बदल दिया गया। टीम?
डेनिस निकोलाेंको

@ नोकोलेन्को, मुझे लगता है कि मैं अस्पष्ट था क्योंकि यह मेरे लिए अस्पष्ट है। मैं cyanogenMod 6, Android 2.2 चला रहा हूं, और लगभग सभी ऐप उन अनुमतियों के लिए पूछते हैं जो आपके लिंक के दावे को स्पष्ट रूप से दी गई हैं। इसलिए मुझे नहीं पता कि इसे किसने बदला (सियानोजेन या एंड्रॉइड टीम)।
BlackShift



0

परमिशन फ्रेंडली एप्स कम से कम डिमांड परमिशन की जरूरतों को पूरा करने के उनके आदेश के द्वारा इंस्टॉल किए गए एप्स को सूचीबद्ध करेगा। (हालांकि, यह वास्तव में उनके व्यवहार को ट्रैक या ऑडिट या समायोजित नहीं करता है।)


0

चूँकि प्रश्न में किसी भी Android संस्करण का उल्लेख नहीं किया गया है, मैं एंड्रॉइड संस्करण 4.2.1 और इसके बाद के संस्करण के लिए प्रासंगिक कमांड-लाइन आधारित उत्तर का प्रस्ताव कर रहा हूं। यह आदर्श रूप से एक ओएस-इंडिपेंडेंट सॉल्यूशन है, ओएस ऑन पीसी, यानी।

निर्भरता

  • आवश्यक पीसी में सेटअप किया जाना है।
  • बाइनरीबॉक्स की आवश्यकता है । यदि डिवाइस रूट है, तो बिजीबॉक्स ऐप इंस्टॉल करें । एल्से, आधिकारिक स्रोत से बिजीबॉक्स बाइनरी डाउनलोड करें , बाइनरी को बिजीबॉक्स में नाम बदलें , सभी के लिए उस बाइनरी पर लिनक्स संगत निष्पादन योग्य अनुमति सेट करें और इसका उपयोग करके डिवाइस में स्थानांतरित करें।

    adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC
    
  • Aapt बाइनरी की आवश्यकता है । यदि आप CM या इसकी व्युत्पन्न ROM चला रहे हैं तो इस आवश्यकता को अनदेखा करें। अन्यथा, एंड्रॉइड 4.x के लिए, आप यहां से बाइनरी को डाउनलोड करने पर विचार कर सकते हैं , बाइनरी को नाम बदलने के लिए बाइनरी का नाम बदल सकते हैं , सभी के लिए उस बाइनरी पर लिनक्स संगत निष्पादन योग्य अनुमति सेट कर सकते हैं और इसका उपयोग करके डिवाइस में स्थानांतरित कर सकते हैं।

    adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC . 
    

    एंड्रॉइड 5.x उपयोगकर्ताओं के लिए, Google से सहायता मांगें।

यहाँ मेरी छोटी स्क्रिप्ट है जो जादू करती है:

#! / प्रणाली / bin / श

# जांचें कि क्या बिजीबॉक्स बाइनरी / डेटा / लोकल / tmp / या / सिस्टम / xbin के अंतर्गत मौजूद है। चर बाइनरीबॉक्स में पाया गया बाइनरी पथ सेट करें या यदि फ़ाइल मौजूद नहीं है या निष्पादन योग्य अनुमति नहीं है तो बाहर निकलें
[[-x / डेटा / लोकल / tmp / बिजीबॉक्स]] && बिजीबॉक्स = / डेटा / लोकल / tmp / बिजीबॉक्स || {[[-x / सिस्टम / xbin / बिजीबॉक्स]] && बिजीबॉक्स = / सिस्टम / xbin / बिजीबॉक्स || {प्रिंटफ "बिजीबॉक्स बाइनरी नहीं मिला या निष्पादन योग्य अनुमति निर्धारित नहीं की गई। }; }
# जाँच करें कि यदि aapt बाइनरी / डेटा / लोकल / tmp या / प्रणाली / बिन या / प्रणाली / xbin के अंतर्गत मौजूद है। यदि फ़ाइल मौजूद नहीं है या निष्पादन योग्य अनुमति नहीं दी गई है, तो बाइनरी पथ को वेरिएबल ऐपट या निकास में सेट करें
[[-x / डेटा / स्थानीय / tmp / aapt]] और& aapt = / डेटा / स्थानीय / tmp / aapt || {[[-x / system / bin / aapt]] और& aapt = / system / bin / aapt || {[[-x / प्रणाली / xbin / aapt]] और& aapt = / प्रणाली / xbin / aapt || {Printf "aapt बाइनरी नहीं मिली या निष्पादन योग्य अनुमति सेट नहीं हुई। \ n" "और निकास से बाहर निकलें; }; }; }

# सभी इंस्टॉल किए गए ऐप्स का पैकेज नाम सूचीबद्ध करें और उन्हें फ़ाइल पैकेजों में सहेजें। under / sdcard
शाम सूची पैकेज | $ बिजीबॉक्स sed 's / ^ पैकेज: // g' | $ व्यस्तबॉक्स सॉर्ट -o /sdcard/packages.txt

# हमारे द्वारा सहेजे गए आउटपुट में प्रत्येक पैकेज के नाम के लिए, $ पथ और $ लेबल का उपयोग करके ऐप का लेबल प्राप्त करें, एक लाइन प्रिंट करें और फिर ऐप को दी गई अनुमतियों को सूचीबद्ध करें। 
पढ़ी जाने वाली पंक्ति; करना
    पथ = $ (दोपहर पथ $ लाइन | $ व्यस्त बॉक्स sed / s पैकेज: // g '); 
    लेबल = $ ($ aapt d badging $ path | $ व्यस्तबॉक्स grep 'अनुप्रयोग: लेबल =' | $ व्यस्तबॉक्स कट -d "" -f2);  
    $ व्यस्त बॉक्स प्रिंट "ऐप के लिए अनुमतियाँ $ लेबल वाले पैकेज का नाम $ लाइन \ n"; 
    dumpsys पैकेज $ लाइन | $ बिजीबॉक्स सेड-ई '1, / दीपिनर्स: / डी' -ए '/ ^ \ s * $ /, $ d' | $ व्यस्तता क्रमबद्ध;
    $ व्यस्त बॉक्स प्रिंट "\ n"; 
किया </ sdcard/packages.txt

डेमो आउटपुट:

एप्लिकेशन के लिए अनुमतियाँ पैकेज नाम cn.wq.disableservice वाले अक्षम करें
      android.permission.READ_EXTERNAL_STORAGE
      android.permission.WRITE_EXTERNAL_STORAGE

एप्लिकेशन Indecent Xposure के लिए पैकेज नाम co.vanir.indecentxposure के लिए अनुमतियाँ
      android.permission.RECEIVE_BOOT_COMPLETED

ऐप टैग के लिए अनुमतियां पैकेज नाम com.android.apps.tag है
      android.permission.CALL_PHONE
      android.permission.NFC
      android.permission.READ_CONTACTS
      android.permission.WAKE_LOCK
      android.permission.WRITE_SECURE_SETTINGS
...
...
एप्लिकेशन थीम्स प्रदाता के लिए अनुमतियाँ जिनके पास पैकेज का नाम org.cyanogenmod.themes.provider है
      android.permission.ACCESS_NOTIFICATIONS
      android.permission.ACCESS_THEME_MANAGER
      android.permission.INTERNET
      android.permission.READ_THEMES
      android.permission.WRITE_SECURE_SETTINGS
      android.permission.WRITE_SETTINGS
      android.permission.WRITE_THEMES

नाम की एक फ़ाइल में पीसी में स्क्रिप्ट को सहेजें perm_script.shऔर उपयोग करके इसे sdcard में स्थानांतरित करें

adb push LOCAL_FILE /sdcard/   # LOCAL_FILE is the  path where you saved that file into PC

उस फाइल को चलाएं

adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE   # OUTPUT_FILE is the path where you want to save the final output

सिस्टम में जितने अधिक एप्लिकेशन इंस्टॉल किए जाएंगे, कमांड पूरा करने के लिए उतना ही अधिक समय होगा। मेरे डिवाइस में, लगभग तीन मिनट लग गए।

संबंधित: क्या उन सभी इंस्टॉल किए गए ऐप्स को खोजने का एक मूल तरीका है जो एक फोन सुविधा तक पहुंच रखते हैं?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.