Как изменить AOSP, чтобы разрешить определенным приложениям получать root-доступ?
Я работаю над AOSP. Я успешно добавил свой apk для сборки. Теперь я хочу предоставить root доступ к моему приложению. Я не хочу предоставлять root-доступ к другим приложениям или устанавливать приложение Superuser в моей сборке. Я просто хочу добавить свое приложение, чтобы получить доступ root. Как я могу это достичь?
Я просмотрел файл su.c в пути system/extras/su, но я не могу понять весь код.
Когда я просмотрел код, я думаю, что моя цель может быть достигнута, если я могу modify
su.c предоставить root-доступ к моему приложению, compile it and add the binary
для сборки. Я прав?
Ответы
Ответ 1
Вы двигаетесь в правильном направлении. Вам нужно проверить источники на su.c
Единственная проблема, с которой вы можете столкнуться, - это запустить вашу программу с правами root. Для этого вам нужно установить личный бит SUID для исполняемого файла вашего приложения. Для этого вам нужно изменить файл system/core/include/private/android_filesystem_config.h
(структура android_files[]
), например, для программы su вы можете увидеть, как этот бит установлен:
{ 06755, AID_ROOT, AID_ROOT, "system/xbin/su" },
Ответ 2
ChainFire написал руководство по su и как его использовать для обычных приложений. Если вы намереваетесь работать с чем-либо другим, кроме своего собственного телефона, я предлагаю, чтобы это был подход, которым вы следуете.