Легко перевіряти дозволи доступу до програми в одному місці?


28

Чи все-таки потрібно перераховувати всі програми, встановлені на вашому телефоні, та дозволи, які вони потребують, на одній сторінці, або експортувати цей список, щоб його можна було легко перевірити?

Відповіді:


14

Використовуйте такі ринкові додатки, як дозвол дозволу або дозволи . Також є кілька інших.


На жаль, додаток Market має помилку (або передбачувану функцію?), Коли не всі дозволи перераховані під час встановлення програми. Це може бути проблема сумісності з програмним забезпеченням, розробленим для старих версій для Android ... code.google.com/p/android/isissue/detail?id=9365
Денис Ніколаєнко

2
можливо, включити коментар до вас у відповідь було б простіше.
bbaja42

@Nikolaenko, мабуть, це навмисно і зараз змінилося: android.stackexchange.com/questions/605/…
BlackShift

@BlackShift, що ти маєш на увазі під "змінився зараз"? Змінено Android dev. команда?
Денис Ніколаєнко

@Nikolaenko, я думаю, я був незрозумілий, тому що це мені незрозуміло. Я використовую cyanogenmod 6, android 2.2, і майже всі додатки просять дозволів на те, що ваші заявки на посилання неявно надані. Тож я не знаю, хто змінив це (ціаноген чи андроїд).
BlackShift

4

Інший додаток, який я закінчив використовувати замість дозволів, - це дозволи RL . Я віддаю перевагу інтерфейс. Наскільки це краще працює, я не знаю.




0

Оскільки в питанні не згадується жодна версія Android, я пропоную відповідь на основі командного рядка, що стосується версії Android 4.2.1 і вище. Ідеально це рішення, незалежне від ОС, ОС на ПК, тобто.

Залежності

  • Потрібна настройка на ПК.
  • Потрібен бінарний файл зайнятості . Якщо пристрій вкорінено, встановіть програму Busybox . Крім того, завантажте двійковий файл зайнятої скриньки з офіційного джерела , перейменуйте бінарний файл на зайнятий , встановіть для цього сумісного Linux дозвільний дозвіл для всіх і перемістіть його на пристрій за допомогою

    adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC
    
  • Потрібен aapt бінарний. Якщо ви використовуєте CM або його похідний ROM, ігноруйте цю вимогу. В іншому випадку для Android 4.x ви можете розглянути можливість завантаження бінарного файлу звідси , перейменувати бінарний файл на автоматичний , встановити сумісний з Linux виконаний дозвіл на цей бінарний файл для всіх і перемістити його на пристрій за допомогою

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

    Для користувачів Android 5.x зверніться за допомогою до Google.

Ось мій маленький сценарій, який робить магію:

#! / система / бін / ш

# Перевірте, чи існує бінарний файл зайнятості в / data / local / tmp / або / system / xbin. Встановіть шлях виявленого бінарного файлу до змінної зайнятої скриньки або виходу, якщо файл не існує, або дозвіл на виконання не встановлено
[[-x / data / local / tmp / busybox]] && busybox = / data / local / tmp / busybox || {[[-x / system / xbin / busybox]] && busybox = / system / xbin / busybox || {printf "Бінарний файл для завантажених файлів не знайдено, або дозвіл на виконання не встановлено. Вихід \ n" && exit; }; }
# Перевірте, чи існує aapt бінарний файл під / data / local / tmp або / system / bin або / system / xbin. Встановіть шлях виявленого бінарного файлу в змінну aapt або вихід, якщо файл не існує або виконавчий дозвіл не встановлений
[[-x / data / local / tmp / aapt]] && aapt = / data / local / tmp / aapt || {[[-x / system / bin / aapt]] && aapt = / система / bin / aapt || {[[-x / system / xbin / aapt]] && aapt = / system / xbin / aapt || {printf "aapt binary не знайдено, або дозвіл на виконання не встановлено. Вихід \ n" && exit; }; }; }

# Перелічіть назву пакета всіх встановлених програм та збережіть їх у файлі пакети.txt під / sdcard
пп список пакетів | Пакет $ busybox sed '^ / ^: // g' | $ busybox sort -o /sdcard/packages.txt

# Для кожного найменування пакета у вихідному файлі, який ми щойно зберегли, отримаємо мітку додатка за допомогою $ path та $ label, надрукуйте рядок і, нарешті, перерахуйте дозволи, надані додатку 
під час читання рядка; робити
    path = $ (pm path $ line | $ packagebox sed 's / ^ пакет: // g'); 
    label = $ ($ aapt d badging $ path | $ busybox grep 'application: label =' | $ busybox cut -d "'" -f2);  
    $ busybox printf "Дозволи на додаток $ label із назвою пакета $ line \ n"; 
    dumpsys пакет $ line | $ busybox sed -e '1, / наданоПеремоги: / d' -e '/ ^ \ s * $ /, $ d' | $ зайнятий сортування;
    $ busybox printf "\ n"; 
зроблено </sdcard/packages.txt

Демонстраційний вихід:

Дозволи для програми DisableService із назвою пакета cn.wq.disableservice
      android.permission.READ_EXTERNAL_STORAGE
      android.permission.WRITE_EXTERNAL_STORAGE

Дозволи на додаток Непристойний 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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.