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

Для рутированных телефонов есть несколько приложений, требующих привилегий root. Зная это, пользователь позволяет приложению получить root. Теперь приложение было бы установлено с набором разрешений x, скажем, INTERNET, LOCATION. Теперь, получив root, возможно ли, чтобы приложение тайно (или нет) давало себе дополнительные разрешения, например. BLUETOOTH? Я где-то читал, что приложения, требующие INTERNETили BLUETOOTHразрешения, добавляются в группу пользователей, которая имеет доступ к этим файлам устройств. Итак, может ли корневое приложение ассоциировать себя с этой группой и получить разрешение?

Ответы (1)

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

Вы должны доверять приложениям, использующим root, чтобы не нарушать предоставленные им разрешения.

интересный. Итак, существует ли база данных разрешений для каждого приложения? Было бы здорово, если бы вы могли указать мне на некоторые документы, касающиеся того же самого.
Разрешения каждого приложения авторитетно хранятся в его (скомпилированном и подписанном) AndroidManifest.xml внутри его APK-файла. Текущие реализации Android кэшируют разрешения в /data/system/packages.xml, но, поскольку это детали реализации, вы найдете мало документации по этому вопросу. В любом случае, изменение этого файла как root (и быстрая перезагрузка до того, как менеджер пакетов перезапишет его снова) делает изменения разрешений постоянными при перезагрузках.
красивый ! я предполагаю, что большинство «вредоносных программ» для Android пытаются это сделать
Они не могут -- если у них нет root-прав. К счастью.