Banner
 en  ru  zh

Содержание


Больше FAQ

Что такое PMX?


Это приложение является расширенным диспетчером разрешений, которое позволяет легко настраивать и просматривать желаемые разрешения для установленных приложений, а так же отслеживать любые нежелательные изменения. Давая контроль над вашим устройством, оно позволяет вам защитить вашу конфиденциальность и сэкономить ресурсы, такие как использование батареи.

PMX предоставляет на одном экране всю разрозненную (или недоступную по другим причинам) информацию и элементы управления, связанные с разрешениями, так что вы можете просматривать и контролировать их комплексным и удобным способом.

Используя PMX вы можете:

Ознакомьтесь с README на Github и подробным описанием приложения в Play Store. Или попробуйте. По большей части это бесплатно.

Разрешения манифеста и AppOps

Ознакомтесь Что такое разрешения манифеста и AppOps?

Целевые значения разрешений


Предположим, вы потратили все воскресенье на то, чтобы настроить разрешения для более 200 установленных приложений. И:

Пройдете ли вы через эту возню еще раз?

Вам это не требуется. Вы можете заставить PMX запоминать желаемые состояния разрешений. Задайте разрешение, установите его состояние ЗЕЛЕНЫМ, готово. Понадобится пара мгновений, чтобы просмотреть все установленные пакеты и выяснить, какие разрешения установлены неправильно, например произведя быстрый поиск по запросу: :КРАСНЫЙ|:ОРАНЖЕВЫЙ или !:ЗЕЛЕНЫЙ. Смотрите Поиск для получения более подробной информации.

Есть три целевых значения:

Целевые значение можно удобно бэкапить и восстанавливать. После восстановления есть удобный способ установки всех разрешений в соответствии с восстановленными целевыми значениями. См. Пакетные операции.

Вы можете установить целевое значение несколькими способами:

Список приложений


  1. Цветная полоска слева — индикатор целевых значений
  2. Иконка приложения
  3. Первая строка показывает название приложения
  4. Вторая строка показывает имя пакета и
  5. UID
  6. Третья строка (необязательно) показывает состояние пакета: критический (фреймворк), фреймворк или системное приложение. Также, если приложение заморожено. Состояния незамороженых пользовательских приложений не отображаются.
  7. Последняя строка показывает количество видимых из общего количества разрешений манифеста и
  8. Разрешений AppOps.

    Невидимые разрешения - это те, которые исключены в Фильтре исключений.

  9. При сортировке по времени установки или обновления последняя строка также показывает справа дату или время.

Список разрешений


  1. Цветная полоска слева — индикатор целевых значений
  2. Разрешения манифеста показывают флаг в правом верхнем углу
  3. Значок разрешения
  4. Первая строка показывает имя разрешения
  5. Вторая строка показывает уровень защиты разрешений: нормальный, опасный, подпись, разработка, привилегированный, фиксированный, AppOps или неизвестно. Также, если это AppOp по пакету или по UID. И если это дополнительный AppOp (никогда не исключается в настройках фильтра).
  6. Третья строка (в случае с AppOp) показывает время последнего доступа
  7. Четвертая строка (в случае с AppOp) показывает целевое значение, если оно не совпадает с текущим.
  8. Переключатель для изменения состояния разрешения
  9. Текущее состояние (в случае AppOp)
  10. По умолчанию означает, что состояние AppOp никогда не было изменено

Обычно название пакета, имя и UID ищутся из списка видимых.

При глубоком поиске запрашиваются имена разрешений и другие параметры.

Обратите внимание, что фильтры исключения работают также и при поиске.

Вы можете использовать в поиске следующие специальные ключевые слова:

Платная версия также показывает подсказки поиска (если задано в предпочтениях) для облегчения процесса поиска.

Проверка по расписанию (только Pro версия)


Вы хотите отслеживать любые нежелательные изменения разрешений во всех установленных приложениях? Проверка по расписанию может делать это для вас через регулярные интервалы (в минутах, часах или днях).

Установите целевое значение ЗЕЛЕНЫЙ, остальное сделает PMX. Если обнаружится изменение какого-либо разрешения (с состоянием КРАСНЫЙ) или установка нового приложения (с состоянием разрешений ОРАНЖЕВЫЙ), PMX напомнит вам, что что-то требует вашего внимания.

Кроме того, если установлено в настройках, "Проверка по расписанию" может автоматически отозвать предоставленные разрешения, с информационным уведомлением.

Отслеживание разрешений (только Pro версия)


Некоторые приложения не работают без предоставления определенного разрешения. Но вы хотите предоставить разрешение только на время, когда вы используете приложение, и отключить/отозвать разрешение сразу же, как вы выйдете из приложения.

Именно это и делает служба "Отслеживание разрешений". Как только вы выходите из приложения или по прошествии установленного времени, эта служба самостоятельно отменяет разрешения приложения (манифест и AppOp) или просит вас сделать это, в зависимости от сделанных вами настроек.

"Отслеживание разрешений" также уведомляет вас о необходимости настроить разрешения для вновь установленных приложений (только в профиле основного пользователя / владельца).

Примечание:

Почему не удаётся запустить "Отслеживание разрешений" ?

Вы используете ADB? Некоторые OEM-производители удаляют разрешение OBSERVE_GRANT_REVOKE_PERMISSIONS или SET_ACTIVITY_WATCHER из пакета Shell. Если это ваш случай, то мы сожалеем. Это то, что мы не можем устранить. На таких устройствах "Отслеживание разрешений" может работать только с root. Пожалуйста, прочитайте примечание, приведенное в начале Использование PMX с помощью ADB.

Просмотр разрешений (только Pro версия)


Просмотр разрешений показывает список всех разрешений с подсчетом того, сколько приложений используют эти разрешения.

  1. Имя разрешения
  2. Уровень защиты
  3. Количество приложений
  4. Количество предоставленных разрешений из общего количества разрешений. Последнее может быть больше, чем количество приложений, поскольку некоторые приложения могут дважды использовать разрешение AppOp (в UID режиме).

Когда вы выбираете разрешение, отображается список приложений, использующих это разрешение:

  1. Имя разрешения
  2. Описание разрешения
  3. Флаг, указывающий, что разрешение предоставлено
  4. Иконка приложения
  5. Название приложения
  6. Имя пакета
  7. UID приложения

При выборе приложения открывается список разрешений, в котором можно изменить состояние разрешений.

Пакетные операции (только Pro)


Профили разрешений

Операции с целевыми значениями

Интеграция с WhatsRunning


PMX интегрирован с WhatsRunning, так что вы можете открывать одно приложение из другого.

Таким образом, из PMX вы можете переключиться на WhatsRunning, чтобы узнать, работает ли еще приложение с ограниченными разрешениями. Если да, то в каком состоянии он находится и сколько ресурсов использует.

Точно так же из WhatsRunning вы можете переключиться на PMX, чтобы узнать, какие разрешения предоставлены работающему (или неработающему) приложению.

Это особенно полезно при анализе эффекта таких разрешений, как RUN_IN_BACKGROUND.

Использование PMX с помощью ADB


Ограничения ADB

Режим ADB не такой мощный, как root. В нашем случае, например, PMX потребуется больше времени для построения списка приложений, когда он работает с ADB.

Примечание: На некоторых OEM прошивках функциональность ADB может быть нарушена из-за отсутствия разрешений или других ограничений. Вы можете проверить текущий статус того, что может делать ADB, нажав пункт меню О приложении -> Привилегии:

Привилегии PMX

К сожалению, мы не можем ничего сделать с этим. Поэтому некоторые функции доступны только на устройствах с root.

В частности, следующая информация доступна только на устройствах с root-доступом:

Однако некоторые OEM-производители добавляют дополнительные настройки для управления привилегиями ADB. Например, вам нужно снять флажок "Отключить Мониторинг разрешений" на телефонах Oppo и "Разрешить предоставление разрешений" в настройках безопасности на телефонах Xiaomi. Смотрите этот вопрос для более детальной информации.

Следующие инструкции относятся к прошивкам, близким к AOSP. Кастомные прошивки могут иметь другие или отсутствующие настройки.


Android 10 и ниже

Итак, мы начинаем с того, как заставить PMX работать с ADB.

Если ваше устройство без root, вам необходимо включить ADB по сети перед использованием PMX. В некоторых устройствах есть пункты ADB по сети или Отладка по Wi-Fi, которые доступны в настройке Для разработчиков:

Опции разработчика ADB

Если у вас нет этих настроек на вашем устройстве, необходимо один раз подключить устройство к USB-хосту, например ПК после каждой перезагрузки.

Показать экран настроек разработчика:

  1. Перейдите в Настройки -> О телефоне и нажмите Номер сборки 5-7 раз.

    Пункт Для разработчиков должен появиться непосредственно в разделе Настройки или в разделе Настройки -> Система, внизу.

Включение беспроводной отладки:

  1. Включите Отладку по USB в настройках Для разработчиков.

  2. Подключите телефон к ПК с помощью кабеля USB.

  3. На ПК откройте окно терминала (или командную строку в Windows) и выполните:

    adb tcpip 5555

    На вашем ПК должен быть доступен исполняемый файл adb, чтобы выполнить указанную выше команду. Если его нет, то вот ссылка для загрузки.

Дополнительные шаги для верификации:

  1. Отсоедините USB-кабель от устройства.

  2. Подключите ваше устройство и ПК к общей сети Wi-Fi.

  3. Получите IP адрес устройства (обычно в настройках WiFi или в Настройки -> О), это 192. 68.1.1.

  4. Выполните на ПК:

    adb connect 192.168.1.1

  5. Выполните еще раз:

    adb shell id -u

    Терминал должен напечатать 2000 (или 0).

Подключение PMX к ADB:

  1. Запустите PMX и проверьте ADB Shell в боковом выдвижном меню. Введите порт 5555 и нажмите подключение.

    Опции разработчика ADB
  2. Разрешите отладку по USB при запросе.

    Опции разработчика ADB

Оставьте отладку Отладку по USB включенной.

Для получения дополнительной информации смотрите это.


Андроид 11 и выше

На Android 11 и выше можно включить беспроводную отладку/отладку по Wi-Fi без подключения к компьютеру.

  1. Подключите ваше устройство к сети Wi-Fi.

  2. Откройте PMX и настройку "Для разработчиков" в режиме Разделенный экран. См. инструкции выше, как открыть опции разработчика.

  3. Включите Беспроводную отладку/отладку по Wi-Fi и отключите Время ожидания авторизации ADB в настройках "Для разработчиков". Последнее гарантирует, что вам не придется повторять следующие два шага (сопряжение) снова и снова.

    Беспроводный ADB Android 11
  4. Откройте Беспроводную отладку/отладку по Wi-Fi и нажмите на "Соединить устройство с кодом сопряжения". Обратите внимание на код подключения и номер порта.

  5. В PMX отметьте ADB Shell в выдвижном меню, введите оба параметра в отображаемых полях и нажмите "сопряжение".

    Беспроводный ADB Android 11
  6. После успешного сопряжения пришло время подключиться. Введите новый номер порта из беспроводной отладки в отображаемом поле и нажмите "Подключить".

    Беспроводный ADB Android 11

Теперь вы можете оставить включенной Беспроводную отладку. Или лучше отключить его и оставить включенной USB-отладку.

Если вы полностью отключите отладку в настройке "Для разработчиков", или после каждой перезагрузки, вам нужно будет повторить последний шаг.

Для получения дополнительной информации смотрите это.


Вот 1 минутное видео-руководство:


Служба подключения ADB

Если Отслеживание разрешений или Проверки по расписанию включены, PMX подключается по ADB при загрузке телефона. Но если к тому времени ADB не будет включен, PMX больше не будет пытаться подключиться к ADB, если только это не будет сделано явным образом путем открытия приложения.

Но если вы включаете ADB при загрузке автоматически, вы можете уведомить PMX, отправив следующий интент о том, что ADB был включен:

am startservice -n com.mirfatif.permissionmanagerx/.fwk.AdbConnectSvcM --ei "com.mirfatif.pmx.extra.ADB_PORT" 5555

Убедитесь, что вы используете правильное имя пакета в зависимости от версии приложения. Прочтите здесь как использовать инструмент am для запуска службы приложения.

Версии PMX


Приложение PMX доступно в двух вариантах: Платная и Бесплатная версии.

Платная версия доступна в двух вариантах: Play Маркет и Pro версии.

Платная версия публикуется в Play Маркет и Github. Бесплатная версия публикуется на GitHub, F-Droid и некоторых других источниках. Последние APK для обеих версий также размещены в Telegram канале.

В Play Маркете нет бесплатной версии.

Вы можете установить Pro версию вместе с любой другой версией на вашем устройстве. Но никакая из двух других версий не может быть установлена вместе (из-за того же имени пакета). Одну из них нужно удалить перед установкой другой.

Бесплатная версия, которая доступна в IzzySoft такая же, как и версии, публикуемые на Github и в группе Telegram. Но версия, которая доступна в официальном F-Droid репозитории имеет другую подпись. Таким образом, она не может быть установлена поверх первых двух, и наоборот.

В период между основными выпусками некоторые (beta) версии также публикуются только в Telegram группе.

Вы можете обновить платную версию до последней стабильной версии либо из Play Маркета, либо установив APK файл, размещенный в Telegram группе с -ps в имени файла. Иногда команде Google требуется до 24 часов до того, как обновление появится в Play Маркет.

Вы можете обновить Pro версию до последней, установив из Telegram канала или из Github APK файл, с -pro в имени файла.

Вы можете обновить бесплатную версию до последней стабильной версии либо с GitHub (или F-Droid; откуда бы вы его не установили), либо установив APK файл, размещенный в Telegram группе без -ps / -pro в имени файла.

Платная версия, установленная путем простого скачивания файла -ps.apk or -pro.apk из группы Telegram, не будет работать, если вы не приобрели приложение.

Когда новая версия станет доступной для обновления, приложение PMX при запуске покажет уведомление о загрузке обновления (при условии, что вы включили проверку обновлений в настройках). Приложение Play Store также показывает уведомления об обновлении в соответствии с вашими настройками.

Если вы уже скачали и установили последнюю версию из Telegram группы, вы не получите уведомление об обновлении в приложении. В Play Маркете так-же не будут отображаться доступные обновления.

Бесплатная версия является полностью свободной и с открытым исходным кодом. Исходный код доступен на GitHub. Каждый может просмотреть и загрузить код и собрать приложение. Мы уважаем конфиденциальность пользователей, так что ничего не скрыто, нет бэкдоров, трекеров, рекламы. И мы не собираем данные и информацию пользователей с помощью любых видов аналитики, профилирования или с целью продажи. Даже отправка отчёта о сбое по усмотрению пользователя, хотя и настоятельно рекомендуется.

Вы можете приобрести платную версию для пожертвования и/или использования платных функций. Другие способы сделать пожертвование доступны в бесплатной и Pro версии в разделе Пожертвовать. Разработчики могут также поддержать разработку приложения, внося свой вклад в исходный код, исправляя ошибки. Пользователи могут помочь нам улучшить приложение, тестируя бета-версии, сообщая о любых падениях или сбоях, предлагая улучшения и новые функции или переводя приложения на их родной язык.

Платная версия включает в себя все, что есть в бесплатной версии, а также следующие дополнительные функции, которые также перечислены в описании Play Store:

Часто задаваемые вопросы (FAQ)


Зачем мне нужно использовать PMX?

Потому что:

Пожалуйста, также посмотрите Что такое PMX?


Почему PMX требует root или ADB доступ?

Android не позволяет обычному пользовательскому приложению изменять разрешения манифеста или AppOp других приложений, и даже свои собственные. Без root или ADB возможно только чтение AppOps, при условии, что скрытые API не запрещены на вашем устройстве, что очень маловероятно на Android 9+.

Поэтому мы запускаем отдельный демон с высокими привилегиями для того, чтобы обойти ограничения.

По умолчанию, фоновый процесс (демон) запускается с ADB UID (2000) или (если есть root) системным UID (1000). На устройствах с ROOT UID можно изменить в Дополнительных настройках.


Мое устройство без root. Как я могу использовать PMX?

Используйте PMX с ADB. Пожалуйста, прочитайте примечание в начале страницы. На некоторых устройствах могут быть некоторые ограничения.


Что такое скрытые API?

Основной функционал PMX вращается вокруг скрытых API. Это возможности, необходимые для выполнения задач (например, предоставления/отзыва разрешений), которые могут выполняться только привилегированными системными приложениями. Таким образом, эти возможности недоступны для обычных пользовательских приложений. Но PMX использует эти возможности с помощью root или ADB. Обычно пользователь не должен беспокоиться об этом.

Если вас интересуют основные подробности, прочтите это.


Как PMX изменяет разрешения других приложений?

PMX не может и не предоставляет и не отменяет разрешения других приложений. Фактически, ни одно стороннее приложение не имеет права сделать это. Это делает ОС Android, которая контролирует разрешения приложений. PMX просто отправляет запрос в платформу Android на изменение состояния разрешения. Теперь все зависит от ОС Android, насколько она выполнит наш запрос. Не все разрешения изменяются. И если вы не можете изменить состояние разрешения используя PMX, то вы не сможете изменить его другим способом.


Разрешения остаются измененными после отключения ADB, отказа root или удаления PMX?

PMX не может и не предоставляет и не отменяет разрешения других приложений. Фактически, ни одно стороннее приложение не имеет права сделать это. Это делает ОС Android, которая контролирует разрешения приложений. PMX просто отправляет запрос в платформу Android на изменение состояния разрешения.

Таким образом, после изменения разрешения не имеет значения, удаляете ли вы PMX или отзываете его привилегии. Разрешение останется в любом состоянии, если оно снова не будет изменено вами или операционной системой.


Почему я не могу изменить разрешение XYZ?

Можно изменять разрешения манифеста только с уровнем защиты опасный (и некоторыми другими). Можно изменять только AppOps, которые не зависят от некоторых других AppOp. Так работает Android, мы не можем изменить его поведение. Смотрите разрешения манифеста и AppOps.

Кроме того, PMX защищает некоторые критически важные фреймворк приложения и разрешения, их изменение может привести к "окирпичиванию" устройства. Смотрите связанный вопрос.


Я изменил разрешение, но это не работает. Почему?

Если вы не получаете желаемых результатов после успешного изменения разрешения, т.е. состояние разрешения возвращается сразу или через несколько часов или дней, в этой ситуации виновата операционная система Android. Пожалуйста, посмотрите:

По мере того, как вы используете приложения, Android может изменять их разрешения. И, к сожалению, у нас нет способа предотвратить это. Отслеживание разрешений и Проверка по расписанию могут помочь в таких случаях.


Почему некоторые AppOps нельзя изменить?

Иногда вы видите "AppOp режим не изменен". Это значит, что Android отклонил запрос на изменение режима AppOp. Вы не можете изменить это независимо от того, какой метод или приложение вы используете. Может быть несколько возможных причин.

На самом деле, если мы исследуем каждое приложение и разрешение по отдельности, то мы получим еще много объяснений (что звучит непрактично). Как было сказано выше, PMX не меняет разрешения других приложений самостоятельно. Таким образом, даже если по какой-то неизвестной причине Android не меняет разрешение или сразу же возвращает его обратно, мы ничего не можем сделать, чтобы заставить его, потому что это ограничения со стороны Android. Скорее всего, я должен сказать, что именно так работает Android.

Также:


Почему в списке пакетов я не вижу приложение XYZ?

Пожалуйста, проверьте Фильтры исключений. По умолчанию практически все стандартные Android приложения исключены. Вы можете исключить/включить любой пакет, который хотите из/в списке видимых.


Почему я не вижу разрешения XYZ в пакете/приложении ABC?

Пожалуйста, проверьте Фильтры исключений. Разрешения, которые не могут быть изменены, исключаются из списка видимых по умолчанию.


Почему я не вижу AppOps XYZ в пакете/приложении ABC?

Установите флажок Фильтры исключения, если XYZ AppOp исключен из списка видимых. Или же пакет ABC может не использовать операцию XYZ. Вам не нужно беспокоиться об этом.

Но если вы хотите видеть XYZ AppOp всех приложений, перейдите в Фильтры исключения -> Дополнительные AppOps, никогда не исключаемые и отметьте XYZ AppOp в списке.

Например, если ввести _CLIPBOARD в поле поиска (с установленным флажком Глубокий поиск), то вы получите все приложения, которые использовали (или пытались использовать) разрешение READ_CLIPBOARD или WRITE_CLIPBOARD. Также отображается метка времени (но не для всех приложений).

Поэтому, если интересующего вас приложения нет в результатах поиска, отметьте оба AppOps в списке Фильтров исключения, упомянутом выше.


Что мне следует выбрать для UID привилегированного демона в расширенных настройках? Система или ADB?

Это имеет значение только в том случае, если вы используете root или ADBD на вашем устройстве работает с root (что не относится к конечным пользовательским устройствам).

Предпочтительно использовать Система (UID 1000), поскольку это предоставляет больше привилегий, чем ADB (UID 2000). Например изменение разрешений "Система-Фиксированный" возможно только при работе в варианте "Система". .


Что такое недопустимые разрешения в «Фильтрах исключений»?

Если приложение запрашивает разрешение манифеста, но оно не объявлено (предоставлено) платформой Android или любым из установленных пакетов, это недопустимое разрешение. Например, com.android.vending.BILLING является недопустимым разрешением, если приложение Play Store не установлено на вашем устройстве.


Что такое дополнительные AppOps в «Фильтрах исключений»?

Не все AppOps используются для всех установленных приложений. Но вы можете принудительно применить AppOp к любому приложению. Выбранные дополнительные AppOps отображаются в списках разрешений всех приложений, и вы можете использовать их при настройке.


Какие существуют режимы AppOp и какие мне следует использовать?

Обычно вам следует использовать варианты Разрешить или Игнорировать. Или же вы можете разрешить операцию только тогда, когда приложение находится на переднем плане (только на андроид Pie +). Запретить это интенсивная версия Игнорировать, которая может привести к сбою запрашивающего приложения. По умолчанию это поведение системы по умолчанию, которое отличается для разных AppOps.

Пожалуйста, обратите внимание, что не каждый режим AppOp может быть установлен для каждого приложении. Например, в последних версиях Android КАМЕРА и МИКРОФОН могут использоваться пользовательскими приложениями только на переднем плане (даже если установлен режим Разрешить). Точно так же некоторые AppOps никогда не могут быть установлены в режим Передний план.

Связано: Почему некоторые AppOps не могут быть изменены?

Официальная документация: AppOpsManager.


В чем разница между режимами AppOp Игнорировать и Запретить?

Игнорировать автоматически завершается ошибкой, в то время как Запретить возвращает приложению ошибку, которую приложение может не ожидать и может дать сбой. Обычно вы должны использовать Игнорировать.


Почему я не могу установить AppOp режим переднего плана (активный режим)?

Режим переднего плана не может быть установлен для всех AppOps. Даже когда он установлен, он может не дать ожидаемых результатов.

Также:

Обратите внимание, что режим разрешений «Разрешить только при использовании приложения» не всегда устанавливает для режима AppOp значение «Передний план»:

Обычно мы видим только два состояния разрешения манифеста: предоставлено и отозвано. Но Android использует флаги, чтобы разделить эти два состояния на многие подсостояния. Для некоторых разрешений тот же феномен используется для достижения поведения «предоставлять только тогда, когда приложение видимо». Разрешение AppOp не используется в этом случае.

Для получения более подробной информации смотрите официальную документацию доступ в фоне и доступ переднего плана (в активном режиме).

Для простоты PMX в данный момент не следит за флагами разрешений. Но в будущем может быть добавлена возможность также отслеживать изменения флагов разрешений, даже если предоставленный/отозванный режим остается неизменным.


Что делает разрешение READ_MEDIA_AUDIO?

READ_MEDIA_ [AUDIO | VIDEO | IMAGES] - недавнее дополнение к списку AppOps, добавленное в Android 10 (IIRC) как часть реализации Android Scoped Storage. В исходном коде указано:чтение носителя аудио типа . Проще говоря, оно контролирует доступ приложений (которые используют MediaStore) к аудиофайлам во внешнем общем хранилище.


Что делает разрешение WAKE_LOCK?

Приложения удерживают wakelock, чтобы устройство не спало, то есть не переходило в режим сна (Doze).


Как я могу изменить разрешение INTERNET?

Android не позволяет изменять все разрешения, например, с уровнем защиты Нормальный (например, ИНТЕРНЕТ) или с флагом Фиксированный или уровнем защиты Подпись (обычно это системные и фреймворк приложения). Смотрите разрешения манифеста и AppOps.


Что такое Фиксированные разрешения?

Разрешения уровня Система-Фиксированый предоставляются предустановленным приложениям производителем или разработчиками прошивки. Они не предназначены для изменения. Но если ваше устройство рутировано, PMX может изменить разрешения уровня система-фиксированный.

Policy-fixed разрешения предоставляются (или запрещаются) ИТ-администраторами на управляемых устройствах. Их невозможно изменить.

Разрешения Пользователь-Фиксированный устанавливаются пользователем. Если пользователь отказывает в разрешении несколько раз, когда приложение запрашивает его, операционная система помечает разрешение как пользователь-фиксированное и больше не показывает пользователю запросов на предоставление разрешения, если приложение снова запрашивает такое же разрешение. Этот вид фиксированных разрешений может быть легко изменен при желании пользователя.


Как я могу изменить разрешения уровня Система-Фиксированный, Подпись | Привилегированный или разрешения фреймворк приложений?

В платной версии вы можете «Разрешить критические изменения» в Расширенных настройках, чтобы вносить изменения в разрешения с пометкой Система-Фиксированный, с уровнем защиты Подпись|Привилегированный или фреймворк приложения. Но не рекомендуется "играть" с системными или фреймворк приложениями. Вы можете "окирпичить" устройство.


Что такое UID режим в разрешениях AppOp?

Это режим разрешения AppOp, который указывает, что изменение этого AppOp также повлияет на другие приложения (с тем же UID), если они установлены. Смотрите sharedUserId.


Могу ли я управлять функцией «Удалить разрешения, если приложение не используется» с помощью PMX?

Да. Эта функция доступна с Android 11. На некоторых устройствах эта функция называется «Приостановить активити приложения, если оно не используется».

Чтобы изменить этот параметр из PMX:

  1. Перейдите в Фильтры исключения -> Список дополнительных AppOps и отметьте AUTO_REVOKE_PERMISSIONS_IF_UNUSED.
  2. Вернувшись на основной экран, наберите AUTO_REVOKE_PERMISSIONS_IF_UNUSED вверху, в строке поиска. Убедитесь, что в настройках поиска включена опция "Глубокий поиск".
  3. Установите режим Разрешить или Игнорировать для требуемых приложений.

You can also use Permission View or Batch Operations in place of step 2 and 3.


Почему я получаю много всплывающих окон Потенциально неподдерживаемая прошивка?

OEM-производители вносят огромные изменения в стандартный код AOSP (разработанный Google). Таким образом, AppOps на некоторых кастомных или стоковых прошивках возвращает неожиданные результаты, которые PMX не может понять. Вы можете игнорировать эти всплывающие окна, но это означает, что функциональность несколько ограничена.


Что делает кнопка «Скрыть приложение из списка» (вызывается долгим нажатием)?

«Исключить» просто скрывает разрешение из списка видимых. Если вы не хотите изменять разрешение для любого приложения, вы можете просто «Исключить» его. И это разрешение не появится ни для одного приложения. Чтобы снова отобразить его, перейдите в Фильтры исключения в настройках.

Точно так же вы можете исключить приложение из списка видимых, если вас не беспокоят его разрешения.


Почему сканирование приложений занимает так много времени?

Permission Manager X получает много информации о приложениях. Туда входят название приложения, имя пакета, иконка, UID и его состояние (фреймворк, системное, пользовательское, заморожено). Для разрешений манифеста и AppOp информация включает имя разрешения, его состояние (предоставлено, отозвано, разрешить, игнорировать, запретить, передний план, по умолчанию), уровень защиты (нормальный, опасный, подпись, разработка, привилегированный, фиксированный, AppOp) и время последнего доступа AppOp. Затем значение каждого разрешения сравнивается с целевым значением и устанавливается индикатор его состояния (красный, зеленый или оранжевый). После сканирования всех разрешений у каждого приложения в общем списке отображается счётчик видимых / всех разрешений манифеста и AppOps и его статус соответствия целевым значениям.

Скорость также зависит от того, сколько мощности ЦП и какое количество ОЗУ ваше устройство оставляет для приложений. Прошивки, выделяющие больше мощности на пользовательский интерфейс (например, MIUI), работают медленнее. Также ADB обычно медленнее, чем root.

Или исключите как можно больше информации во вкладке Фильтры исключений для ускорения процесса сканирования.

Еще один способ, который может ускорить загрузку списка приложений — очистка базы данных целевых значений в Расширенных настройках.


Есть ли полный список всех разрешений с пояснениями?

Нет полного списка разрешений с описанием, по крайней мере, насколько мне известно. Версия PMX Pro показывает краткое описание общих разрешений манифеста и AppOp.

Есть сторонние ресурсы, такие как этот от Izzy. Официальный сайт разработки Андроид и исходного кода также являются хорошими источниками для обучения.

С каждой новой версией Android добавляются новые разрешения, а некоторые устаревают. Кроме того, не все разрешения необходимы каждому пользователю.


Как использовать приложение в рабочем профиле/многопользовательской среде?

Pro версия поддерживает рабочие профили и несколько пользователей. Выберите пользователя из выпадающего меню.


Как я могу перевести PMX на мой язык?

Присоединяйтесь к команде переводчиков на Crowdin. Сообщите мне, какой язык вам интересен, и я добавлю его в проект.

Основные переводчики будут отмечены добавлением их имен в приложение в разделе О программе .


Собираетесь ли вы добавить поддержку Shizuku в PMX?

Нет. Shizuku не поддерживается. Это добавляет ненужную сложность в разработку. Полагаясь на дополнительное стороннее приложение, мы теряем свободу самостоятельной разработки нашего приложения. PMX изначально поддерживает рут и ADB.


Сравнение PMX с XPrivacyLua. Могут ли они заменить друг друга?

PMX не предназначен для замены, а для дополнения таких проектов, как XPrivacyLua. Они имеют различные цели.

XPrivacyLua взламывает стандартные функции Android, подключаясь к внутренним API, используя Xposed, который заменяет некоторые библиотеки Android взломанными. Таким образом, мы получаем дополнительные функции, такие как отправка поддельных данных в приложения и уведомления о событиях, связанных с разрешениями, о которых мы не можем узнать никакими другими обычными способами.

В отличии от XPrivacyLua приложение PMX не предназначено для использования в качестве фреймворка. Оно обеспечивает удобный доступ к нескольким привилегированным API, которые не могут использовать обычные приложения. Это ни в коем случае не взлом стандартных функций Android. Большинство задач, которые выполняет PMX, также можно выполнить из командной строки, за исключением некоторых, таких как изменение разрешений Система-Фиксированный.

Наличие root и Xposed являются двумя строгими требованиями к использованию XPrivacyLua. PMX не требует ни того, ни другого, по большей части. Оба варианта ( root и Xposed) недоступны для многих устройств, или многие пользователи не рассматривают их как вариант из-за технических трудностей, аннулирования гарантии, сбоя SafetyNet и других проблем.

Вот связанная проблема.


Может ли PMX автоматически удалять разрешения, когда приложение закрыто, как это делает Bouncer?

Да. См. Отслеживание разрешений и Проверка по расписанию. Но он не использует функцию Специальные возможности Android для выполнения нажатий / кликов по экрану от имени пользователя (хотя это хорошая функция, не требующая дополнительной настройки). PMX полагается на root или ADB. Таким образом, он может делать гораздо больше (см. Что такое PMX?), чем то, что можно сделать с помощью Спец.возможностей.

Если вы используете ADB, а не root, Отслеживание разрешений может не работать на некоторых устройствах. Пожалуйста, прочитайте примечание, приведенное в начале Использование PMX с помощью ADB.


Могу ли я получать уведомления о установке нового приложения?

Да. См. Отслеживание разрешений.

Начиная с Android 8, фоновые (не работающие) приложения не могут получать уведомления об установке нового приложения. Поэтому мы должны запустить службу переднего плана (с постоянным уведомлением), чтобы получить это уведомление. Или вы можете использовать проверки по расписанию, для контроля за разрешениями приложений.


Когда установлено новое приложение, может ли PMX отключить его разрешения по умолчанию?

Да. Но отключать нечего. Все отключаемые разрешения манифеста уже отключены и остаются такими, если пользователь не предоставит их. Что касается AppOps, многие из них не появляются до тех пор, пока хотя бы один раз не будут использованы приложением, например VIBRATE и READ_CLIPBOARD. У многих других (например, READ_CONTACTS) соответствующие разрешения манифеста уже удалены, как указано. Таким образом, во время установки приложения невозможно предсказать, какие AppOps следует удалить.

Но при установке нового приложения отображается уведомление (если используется Отслеживание разрешений), поэтому пользователь может устанавливать разрешения одно за другим или применить профиль.


Почему PMX требует разрешение INTERNET?

Автономная Pro версия требует подключения к Интернету для проверки лицензии. Две другие версии — бесплатная и Pro из Play Маркет могут работать полностью в автономном режиме. Хотя приложению Play Маркет для проверки лицензии требуется подключение к Интернету.

Необязательное использование разрешения android.permission.INTERNET:

Локальное (на устройстве) использование разрешения android.permission.INTERNET:

Android не позволяет приложениям создавать сетевые сокеты без разрешения INTERNET, даже если они предназначены только для локального использования, а не для подключения к Интернету. PMX имеет два варианта использования локальных соединений (на устройстве) (возможность создания сокетов localhost по адресу 127.0.0.1) для межпроцессного взаимодействия (IPC):

Поэтому, если приложение не может создавать или использовать сокеты локальной сети, оно не будет работать. И если вы хотите запретить PMX использовать Интернет, это не должно мешать приложению общаться с процессами на устройстве через loopback интерфейс для IPC. Обычно это происходит с брандмауэрами на основе iptables, такими как AFWall+, и брандмауэрами на основе VPN, такими как NetGuard. Но некоторые прошивки имеют встроенную возможность запретить доступ к сети:

Это не только запрещает приложению использовать Интернет, но и отключает его возможность создавать петлевые (loopback) сокеты для IPC. Таким образом, PMX не сможет получить привилегии root / ADB, если в этом разрешении будет отказано.


Насколько PMX безопасен для конфиденциальности?

Мы не интересуемся ни вами, ни вашим устройством. PMX является приложением с открытым кодом. Вы можете просмотреть исходный код на Github. От конечного пользователя ничего не скрывается. Мы верим в то, что наши пользователи обучены и хорошо осведомлены о том, почему они используют PMX. Мы уважаем вашу конфиденциальность, поэтому никакие данные не собираются, даже логи сбоев. Вы также можете посмотреть нашу Политику конфиденциальности.


Шпионит ли PMX за мной, используя ADB по сети?

Нет.

PMX обращается к процессу adbd через localhost (127.0.0.1). Но невозможно запустить прослушивание adbd только на localhsot, а не на других сетевых интерфейсах (потому что ADB предназначен для внешнего использования с ПК). Вы, конечно, можете остановить прослушивание adbd с внешних IP-адресов, если сможете. PMX по-прежнему будет работать без внешнего доступа к порту.

Также вы можете изменить порт 5555 на любой номер в Расширенных настройках. Это не жестко запрограммировано.

Начиная с Android 4.2, ADB должен быть защищен с помощью аутентификации с ключом RSA (один из самых надежных механизмов аутентификации). Таким образом, даже если устройство доступно из Интернета (что очень маловероятно), никто не сможет установить соединение ADB без аутентификации.

Вы можете проверить эти утверждения любым способом. Мы готовы оказать Вам техническую помощь.


PMX злоупотребляет root правами, для сбора моих данных?

Мы верим в принцип минимальных привилегий. Но из-за ограниченного характера операционной системы Android PMX не может работать без высоких привилегий. Что мы можем предложить, так это то, что если вы технически подкованный человек, мы можем научить вас, как затруднить подключение приложений к Интернету, даже с root правами.


Я считаю, что PMX бесполезен. Зачем было создано это приложение?

Вы правы. PMX не для всех (и именно поэтому приложение долгие годы не дорабатывалось и не выпускалось для широкой публики, потому что мы знали, что у нас очень небольшая аудитория). Оно только для некоторых технически подкованных людей, которые тщательно заботятся о своей конфиденциальности и контроле над устройствами. Большинство пользователей телефонов находится в руках своих OEMs и разработчиков приложений. Им не известно о том, что делается с ними и их данными. И это нормально.

Загрузки / Скриншоты

Пожалуйста, посетите Github README.


Рейтинги / Обзоры / Комментарии / Голоса / Звезды

Play StoreXDAGitHub


У Вас есть еще вопросы?

Пожалуйста, ознакомьтесь с Больше FAQs. Или свяжитесь с нами по электронной почте или в Telegram.