Получение root путем изменения default.prop(ro.secure)?

Чтобы получить привилегированную оболочку, вам нужно изменить следующие строки на заданные значения в файле default.prop ro.secure=0

ро.debuggable=1

persist.service.adb.enable=1

У меня есть извлеченный образ восстановления моей модели телефона: возможно ли изменить следующие значения в файле default.prop, переупаковать образ и прошить его с помощью fastboot (загрузчик разблокирован), чтобы получить привилегированную оболочку, а затем скопировать двоичный файл su после перемонтирования системы для чтения/записи?

Нужно ли мне изменять какие-либо другие значения в любом из файлов? И будет ли это работать, хотя бы теоретически?

Перед тем, как изобретать велосипед, вы проверили на xda-developers официальный метод root для вашего устройства?
Да, у меня нет «официальных» методов, и я хотел сделать это сам на этот раз, это китайское устройство с ребрендингом, поэтому там не так много поддержки,
Какое устройство вы хотите рутировать?
@Flow Karbonn A9/K-Touch W680. Обновление: описанный выше подход не сработал, либо потому, что образ изначально не был стандартным восстановлением, либо это не так просто. Телефон теперь рутирован.
default.prop находится в ramdisk, который "сбрасывается" при каждой загрузке
Можете ли вы дать ссылку или объяснить, как извлечь recovery.img или boot.img из телефона (без рута)? Спасибо!
@user29020 user29020 Это было довольно давно, я уже не помню.

Ответы (2)

Этот подход будет работать (при условии, что нигде нет фирменных забавных замков), но раздел восстановления с самого начала не является его участником. Файл default.prop перезаписывается при загрузке, копируется из загрузочного раздела, который не является файловой системой с прямым доступом. Вам нужен образ загрузочного раздела, который вы потом распаковываете, вносите изменения и перепаковываете.

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

www.freeyouandroid.com/guide/extract-edit-repack-boot-img-windows

Сценарий включает в себя команду od, с помощью которой вы можете получить базовый адрес, если вы хотите создать свой собственный сценарий. Подробнее о ручных шагах (для воспроизведения в GNU/Linux):

android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images

Я не рекомендую использовать сценарии распаковки/переупаковки, так как они имеют жестко закодированные строки, не переносимые из одного случая в другой. Используйте split_bootimg.pl, затем распакуйте его gunzip и cpio, после чего снова используйте cpio и gzip, а затем команду mkbootimg. Единственным исключением являются устройства MTK65xx, где вам потребуются соответствующие инструменты распаковки/перепаковки (поскольку они имеют очень разные смещения; вы также пропустите mkbootimg, так как скрипт перепаковки сделает это за вас):

github.com/bgcngm/mtk-tools

А вот продолжающийся пример китайского телефона с ребрендингом, который проходит через то же самое, чтобы наконец получить root:

forum.xda-developers.com/showthread.php?t=1818146&page=5

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

Можете ли вы дать ссылку или объяснить, как извлечь recovery.img или boot.img из телефона (без рута)? Спасибо!

Вышеописанный подход, похоже, не сработал.

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

Другим методом было бы изменить build.prop в самом загрузочном образе, перепаковать, а затем прошить его и adb , чтобы получить привилегированную оболочку в обычном рабочем режиме.

Лучше следовать чужой процедуре, когда вы не слишком уверены в своей собственной.

Это не работает, потому что поставляемая версия ADB не поддерживает root. (Я посмотрел make-файл и исходный код ADB, я знаю, о чем говорю)
@Orri Хотя это может быть годы спустя, я почти уверен, что небезопасное приложение ADBD от Chainfire уже существовало, когда был опубликован ответ.