Отримання кореня, змінивши default.prop (ro.secure)?


14

Для отримання пільгової оболонки вам потрібно змінити наступні рядки для заданих значень у файлі default.prop ro.secure = 0

ro.debuggable = 1

persist.service.adb.enable = 1

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

Чи потрібно змінювати будь-які інші значення у будь-якому з файлів? І чи спрацює це, принаймні теоретично?


Перш ніж винаходити колесо, ви перевіряли xda-developers на офіційний кореневий метод для вашого пристрою?
Міхіч

2
Так, у мене немає, немає "офіційних" методів, і я хотів зробити це самостійно один раз, його перепрофільований китайський пристрій, тому там не дуже велика підтримка,
Kedar

Який пристрій ви бажаєте викорінити?
Потік

@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, як це виконує сценарій перепакування):

github.com/bgcngm/mtk-tools

І ось постійний приклад китайського ребрендованого телефону, який проходить через те саме, щоб нарешті отримати корінь:

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

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


Чи можете ви зв’язатись або пояснити, як витягти recovery.img або boot.img з телефону (не маючи кореня)? Спасибі!
user29020

2

Вищенаведений підхід, здається, не працює.

Або тому, що відновлення запасів не призначене для пристрою, або метод не є таким простим і може спричинити інші зміни. Телефон не переходитиме в режим відновлення, це єдиний режим, в якому ви отримаєте привілейовану оболонку для виконання необхідних операцій для отримання постійного кореня.

Іншим методом було б змінити build.prop у самому завантажувальному зображенні, перепакувати, а потім пропустити його та adb, щоб отримати привілейовану оболонку в звичайному робочому режимі.

Краще дотримуватися чужої процедури, коли ви не надто впевнені у власній.


Це не працює, оскільки відправлена ​​версія ADB не підтримує root. (Я подивився файл make і джерело ADB, я знаю, про що я говорю)
Orri
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.