Как su работает на Android? И каковы предпосылки для его работы? Что укореняется на Android?

Возможный дубликат: что означает su: process = Runtime.getRuntime (). Exec ("su");

Я устал пробовать все разные вещи, но я все еще не увенчался успехом в понимании, когда это будет работать. Что укореняет устройство в Android? Кто-то, пожалуйста, помогите мне с этим.

Я ответил на следующий вопрос. Решение, которое я разместил там, я тестировал и также работал.

Добавление полного разрешения для файла изображения в android.

Вот мой вопрос:

Я попробовал.

Скопировано su.

Установленный SuperUser.apk,

Из программы i, называемой su, а затем с использованием вновь созданного процесса я выполнил требуемые операции.

Это имеет 2 результата.

1) Когда устройство внедрено (например, выполнение параметра «Постоянный корень» в z4root), он работает, он изменяет права доступа к системному файлу.

2) Когда устройство не внедрено, оно не работает.

Пожалуйста, объясните, что делает z4root, что делает задачу возможной. Объясните вкратце, пожалуйста.

Дайте мне знать, если мой вопрос не ясен. Благодаря тонну..

Solutions Collecting From Web of "Как su работает на Android? И каковы предпосылки для его работы? Что укореняется на Android?"

Какой z4root (или любая другая программа для rooting) выполняет некоторый эксплойт, чтобы изменить свой собственный uid (user-id) на 0 (root). Вы можете думать об этом как о выполнении какого-то взлома и трюка с ядром, думая, что на самом деле имеет право быть root (тогда, если z4root был вирусом, он мог делать все с вашего телефона от установки клавиатурных шпионов, чтобы избавиться от него). Конечно, если вы можете обмануть ядро ​​таким образом, чтобы предоставить вам root-доступ, он считается уязвимостью безопасности (любое приложение может это сделать и выполнять некоторые вредоносные вещи) и обычно исправляется в будущих обновлениях ядра (поэтому z4root не может Если вы обновите свою прошивку).

Когда z4root установил свой uid на 0, он делает следующее: remounts /system раздел как перезаписываемый (по умолчанию он доступен только для чтения), копирует по su бинарный, Superuser.apk и busybox, а затем повторно монтирует /system обратно как только для чтения.

Итак, как su-файл дает вам root-доступ, не делая «взлома», когда обычно приложения имеют такой же uid, что и родительский процесс? Это связано с тем, что su binary имеет установленный флаг set-uid и всегда запускается как uid 0 (root).

Теперь, если вы скопировали su бинарный файл в /system/bin вас должен был быть доступ root, что означает, что вы просто забыли изменить владельца / разрешения ( chown root:root /system/bin/su; chmod 6755 /system/bin/su ), но для этого вам все же нужен root-доступ.

Когда вы создаете корневое устройство, вы перезаписываете или изменяете образ ОС в ПЗУ, чтобы предоставить вам повышенные разрешения. Установка приложений в пользовательском режиме не может привести к эскалации привилегий в любой версии Linux в любом месте. Если какой-либо пользователь может сделать себя root путем «копирования su», не было бы такой вещи, как безопасность.

Я не уверен, что вы просите, но это кажется простой. Вы пытаетесь стать «суперпользователем» или занимаетесь правами суперпользователя. Вы можете сделать это только в том случае, если у вас есть фактические права на это, предоставленные учетной записи пользователя, выполняемой в настоящее время на вашем устройстве. Обычно у вас нет такого права.

Имейте в виду, что «суперпользователь» такой же, как «root»,

  • Если вы «root» свое устройство, это означает, что вы даете себе право стать суперпользователем. Вы можете делать вещи, которые должны быть суперпользователями: «su» – одна из этих команд, так как она говорит «войдите в систему как суперпользователь». Вам, очевидно, нужны права суперпользователя, чтобы стать этим пользователем.
  • Если у вас нет корневого устройства, у вас нет прав на использование суперпользователя. Поэтому вызов su не будет работать.

Таким образом, вы можете делать root материалы только в том случае, если вы rooted свое устройство.