Когда вы запускаете это:
Process p = Runtime.getRuntime().exec("su");
Вы пытаетесь выполнить «su», что может сделать только приложение с правами суперпользователя! Поэтому всякий раз, когда Android обнаруживает, что вы пытаетесь запустить «su», он получает, что приложению потребуются разрешения суперпользователя.
Кроме того, Android имеет зарезервированную область, доступ к которой может получить только система Android. Если ваше приложение попытается получить доступ к чему-то там, Android поймет, что нужен суперпользователь.
Например, скажем, вы пытаетесь изменить файл хоста или изменить некоторые сетевые конфигурации, такие как DHCP. Или вы пытаетесь получить доступ к файлам из системной области, например. /data
Android проверит, есть ли у приложения права суперпользователя, и только потом предоставит ему доступ к таким вещам.
Что касается вредоносного программного обеспечения, всякий раз, когда приложению требуется доступ суперпользователя, система предложит пользователю предоставить или отказать приложению в разрешении суперпользователя. Только тогда приложение сможет получить root-доступ. Таким образом, пользователь сам решает, принимать или отказывать в корневом доступе для любого приложения. (Система будет предлагать пользователю каждый раз, когда приложение пытается получить доступ к чему-то, что требует root-доступа, ЕСЛИ вы не сообщите системе, чтобы она запомнила ваш выбор принятия или отказа для конкретного приложения. )
PS: вы можете проверить веб-сайт приложения Superuser.
person
Suraj Bajaj
schedule
30.10.2012