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

14

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

ro.debuggable = 1

persist.service.adb.enable = 1

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

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

Кедар
источник
Перед тем, как заново изобретать колесо, проверяли ли вы xda-developers официальный метод рута для вашего устройства?
Mihic
2
Да, у меня нет «официальных» методов, и я хотел на этот раз сделать это сам, это ребрендинговое китайское устройство, так что поддержки там не так много,
Kedar
Какое устройство вы хотите получить root?
Поток
@ Flow Karbonn A9 / K-Touch W680. Обновление: вышеприведенный подход не сработал, либо потому, что изображение изначально не было восстановлено, либо это не так просто. Телефон рутирован сейчас.
Кедар
default.prop находится в ramdisk, который «сбрасывает» каждую загрузку
trogper

Ответы:

13

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

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

www.freeyourandroid.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, как это делает скрипт repack):

github.com/bgcngm/mtk-tools

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

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

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

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

Вышеуказанный подход, похоже, не работает.

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

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

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

Кедар
источник
Это не работает, потому что поставленная версия ADB не поддерживает root. (Я посмотрел файл make и источник ADB, я знаю, о чем говорю)
Орри