LINUX.ORG.RU

Получить рута на андроиде без взлома

 ,


0

2

Пытался понять сам, но очень сложно вычленить из всего кулхацкерского спама какое-то разумное звено. Имеется Xiaomi Mi A2 с Android One 10. Хочу получить root. Ничего взламывать не хочу, какие-то сомнительные программы ставить не хочу. В идеале в меню какой-нибудь пункт нажать, но не нашёл такого пункта. Есть ли такой способ или все способы получения рута это по сути взлом устройства?

В Developer Menu есть пункт OEM unlocking, пока его не нажимал.

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

★★★★★

все способы получения рута это по сути взлом устройства

this

olelookoe ★★★
()

Насколько помню, в ксяоми надо писать письмо с мольбой дать рут и с ывложением фотографией с флажком 🏁

fornlr ★★★★★
()

Такое низзя после android5 ЕМНИП. Раньше кое-где можно было нажать пару пунктов в настройках чтобы разлочить. Сейчас надо прошивать кастомный рекавери вроде TWRP и оттуда засовывать «патч» в виде ядра Magisk и ему подобных. А тебе зачем, анон? Сохранить лицуху на гарантию?

x86-
()
Ответ на: комментарий от fornlr

Там несколько иначе - регистрируешь аккаунт Mi, качаешь китайский руткит оффициальную™ прогу по разлоку загрузчика, подключаешь телеф в Fastboot’e и жмешь на большую красную кнопку «Сделать все хорошо». Молишься и ждещ 120 суток. Профит - можно рутировать.

x86-
()
Ответ на: комментарий от x86-

А тебе зачем

Ну конкретно сейчас оно мне понадобилось, чтобы через adb включать/выключать режим полёта. Это перезагружает модем. У меня периодически пропадает мобильный интернет, который я потребляю с этого телефона и эта операция его восстанавливает. Те инструкции, которые я нашёл, кидают ошибку, мол прав не хватает, я так понял, нужен рут, чтобы всё работало. Правда я нашёл другие инструкции, но они менее надёжные, их я пока отложил (там как бы вызывается экран настроек, имитируются нажатия кнопок и тд).

А в целом я не очень понимаю, почему на моём устройстве я не имею полных прав, меня это чисто эстетически раздражает.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от fornlr

Ну вот сейчас нажал Developer Options/OEM unlocking, вроде галочка показывает, что разлочился bootloader. Без всяких писем.

Legioner ★★★★★
() автор топика

все способы получения рута это по сути взлом устройства?

Ты еще скажи, что хочешь сам ремонтировать свой личный телефон.

люди устанавливают su и через неё получают рута, но ведь эта команда будет спрашивать пароль рута

Для получения рута нужна всего лишь простая программка с suid. Проверку пароля в этой программе можно не делать, разрешаю. В принципе даже баш скрипт справился

#!/bin/sh
exec "$@"

если бы в баше не сделали защиту.

anonymous
()

На теле. рабском нет смысла в root все правильно, страдай

nanosecond
()
Ответ на: комментарий от anonymous

Т.е. su, которым получают рута в андроиде, не имеет ничего общего с su в обычном линуксе, кроме названия. Понятно.

Я так понял, что «обычный» способ получить рута с разблокированным загрузчиком это прошить хакерскую прошивку, в которой будут нужные бинари. Но меня в принципе моя устраивает, не хотелось бы её убирать. Если этот самый загрузчик разблокирован, можно как-то через USB подмонтировать диск из Android-а и скопировать туда нужный бинарник с нужным suid битом?

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Т.е. su, которым получают рута в андроиде, не имеет ничего общего с su в обычном линуксе, кроме названия. Понятно.

Основная задача - это взлом через какую нибудь-уязвимость, получение root’а, и установка suid-бит для устанавливаемой программки для получения root’a.

anonymous
()

Зависит от многих факторов на некоторых можно отключить батарею запустить программу естественно под офтопиком слитую хз кем хз от куда и сделать снимок emmc, но не вижу смысла ковыряться если это жопа

nanosecond
()
Ответ на: комментарий от burato

UART - это физический протокол, с сигналами по проводам,

а ТС-у только exploit, под конкретный ведроид и железку, ибо root производителями жадными отключен!

fpastush
()

Xiaomi Mi A2

На этой линейке можно вообще не париться, перезагрузиться в загрузчик и вбить на компьютере fastboot oem unlock. У тебя Linux, поэтому в отличие от винды никакие шаманства с драйверами не нужны. И fastboot есть скорее всего в репозитории твоего дистрибутива.

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

fastboot у меня есть, я андроид разработчик в том числе. А что конкретно произойдёт после вбивания fastboot oem unlock? Как я понял, сбросятся все пользовательские данные, это ладно.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Да. Данные удалятся, это требование Google для сертификации ЕМНИП. Там что-то вроде: или вы стираете данные, или придумываете механизм верификации, или не даете разлочить вовсе.

После разлоченного загрузчика, у тебя есть возможность подменять ядро, рамдиск, системные разделы. Соответственно получение root после сводится к установке su.

@pinus_nigra, необязательно. Я конечно слышал что у кого-то не работает, но и те просто собирали ядро в котором проверка заменена на стаб.

a1batross ★★★★★
()
Ответ на: комментарий от Legioner

OEM unlocking опция - это не разлочка загрузчика, а включение возможности его разлочить.

xmikex ★★★★
()
Ответ на: комментарий от a1batross

у тебя есть возможность подменять ядро, рамдиск, системные разделы

И как этой возможностью пользоваться?

Пока самое близкое, что я нашёл - это скачать Magisk, загрузить ROM, пропатчить образ и переустановить всю ОС с этого образа. Сейчас пробую это сделать. Самое плохое, что у xiaomi, похоже, нет официального сайта с образами, приходится с каких-то васянских искать ссылки. Такой бред.

Legioner ★★★★★
() автор топика
Ответ на: удаленный комментарий

Я не доверяю левым ромам, это как скачивать образ дебиана с mail.ru. Пока что хоть сайт со ссылками и васянский, но сама ссылка на miui.com ведёт, вроде приемлемо.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Там, как правило описалово всех проблем и нюансов. А roms находятся на xda-developers или сoуфордже.

anonymous
()
Ответ на: комментарий от pinus_nigra

Перестанут работать банковские клиенты например

У меня разлочен загрузчик + стоит кастомный рутированный линеаге, тем не менее банковские клиенты отлично работают (приват24 например). Явно касается только некоторых, лучче не обощать

x86-
()
Ответ на: комментарий от pinus_nigra

Перестанут работать банковские клиенты например.

Да и если идти той тропой, что избрал ТС (вшивка Magisk), простым нажатием кнопки в установленном Magisk Manager можно скрыть факт рутирования от отдельно взятых прог

x86-
()
Ответ на: комментарий от Legioner

скачать Magisk, загрузить ROM, пропатчить образ и переустановить всю ОС

Зачем? Можно просто одной командой поставить TWRP/OrangeFox и через него прошить Magisk в текущую прошивку.

anonymous
()
Ответ на: комментарий от x86-

Поддерживаю 86го, два пива этому господину. Имею ASUS Zenfone Max Pro M1, загрузчик разлочен, стоит Magisk, Сбер, Халва, ВТБ прекрасно работают, даже галочки в Magiske не ставил.

anonymous
()
Ответ на: комментарий от anonymous

И анон тоже верно говорит. Разлочить загрузчик, установить TWRP, не обязательно Orange fox, найдёшь на 4pda какой лучше, с него в текущую прошивку установишь Magisk.

anonymous
()
Ответ на: комментарий от anonymous

Да банковским приложением обычно пофиг на рут. А вот если надо nfc через гугл пэй то вот тут уже могут быть проблемы. Там надо дополнительные модули для magisk ставить.

Solonix ★★★
()
Ответ на: комментарий от fornlr

ывложением фотографией с флажком 🏁

Хых, остались еще люди, которые помнят.

Или диды рассказывали?

utanho ★★★★★
()
Ответ на: комментарий от anonymous

А что за, так и должно быть, банк не может быть в ответе за то что ты там со своим телефоном делаешь, как и не может активно заниматься попытками добыть доступы и инфу сверх меры того что предлагает стоковая прошивка. Про банковский софт инфа это какая то глупость и если так кто-то из российских банков делает, то это зашквар.

anonymous
()
Ответ на: комментарий от Legioner

Нет, вам просто разрешили его разлочить.

utanho ★★★★★
()

Разблокируй загрузчик и прошей boot образ пропатченный через Magisk /thread

anonymous
()
Ответ на: комментарий от anonymous

Сбербанк вроде жаловался на установленный рут, на 4pda даже раньше выкладывали патченные версии Сбера без проверки наличия рута.

xmikex ★★★★
()
Ответ на: комментарий от utanho

Я про китайские эксплоиты, которые ничего не требовали - ставишь APK, запускаешь и через несколько минут у тебя рут

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

А про тврп, который запускался из фастбута и позволял на лету патчить ядро и пихать магиск в систему.

utanho ★★★★★
()
Ответ на: комментарий от SR_team

Да, но смысл в том, что он не прошивается. Рекавери остается родной

utanho ★★★★★
()

В общем всё получилось, напишу краткий гайд для таких же чайников. Это для Xiaomi Mi A2, на других телефонах может быть по-другому.

Использованная информация:

  • Magisk Installation Guide - обязательно прочитайте, там куча вариантов установки, я описываю самый «правильный».

Предупреждения: разблокировка загрузчика может снять вас с гарантии, это всё может превратить телефон в кирпич и тд и тп, всё на ваш страх и риск. Разблокировка загрузчика удалит все ваши файлы, фотографии, приложения, настройки и тд. Все приведённые команды я использовал для своего телефона, у вас скорей всего названия, пути и тд будут другими, проверяйте, читайте документацию.

Часть нулевая - обновить ОС на телефоне до последней версии стандартными средствами.

Часть первая - настройка компьютера и спаривание с телефоном. Конечная цель - чтобы работал adb.

  1. В андроиде нужно включить Developer Mode: зайти в Settings / About phone / тыкнуть 7 раз в Build number. Порадоваться, что вы теперь Developer.

  2. В андроиде нужно включить Settings / System / Advanced / Developer options / USB debugging / ok.

  3. Теперь про компьютер, к которому нужно будет подключить телефон через USB. Я использую Fedora. Для начала надо установить Android SDK. У меня установлен плагин Android для Idea, через который я установил SDK, но если вам не нужно разрабатывать приложения для Android, проще скачать SDK с сайта без Android Studio и распаковать куда-нибудь. У меня он распакован в ~/apps/android. В репозиториях дистрибутива оно вроде тоже есть, но я ими стараюсь для такого софта не пользоваться, на свой страх и риск используйте, если хотите. Можно добавить ~/apps/android/platform-tools в $PATH, я не добавлял.

  4. Подключить телефон и выполнить ~/apps/android/platform-tools/adb devices. На моём компьютере она не работала: телефон показывался в списке, но не хватало разрешений. Чтобы решить эту проблему, я сделал так:

sudo groupadd adb
sudo usermod -aG adb myuser

Далее нужно подключить устройство и написать lsusb. В выводе будет строчка вида

Bus 001 Device 009: ID 2717:4ee7 Xiaomi Inc. SDM660-MTP _SN:7F20843D

Этой строчке соответствует файл /dev/bus/usb/001/009. Если посмотреть его права, то будет понятно, что прав на запись действительно не хватает.

Далее я создал файл /etc/udev/rules.d/99-adb.rules и в нём написал

SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="4ee7", GROUP="adb", MODE="0664"

Все значения из той строчки от lsusb, если что. У вас наверняка будут другие.

После этого лучше всего просто перезагрузить компьютер.

  1. Команда ~/apps/android/platform-tools/adb devices должна показывать подключенное устройство без всяких ошибок. В первый раз телефон потребует подтверждения.

Часть вторая - подготовка патченного boot.img.

  1. На телефоне включить возможность установки apk: Settings / Apps and Notifications / Advanced / Special app access / Install unknown apps / File Manager.

  2. На телефоне зайти по адресу https://github.com/topjohnwu/Magisk/releases и скачать Magisk-v23.0.apk (или какой там последний будет). Ну и установить.

  3. Найти и скачать тот образ, с которого установлен ваш телефон. Для моего это произошло так:

3.1. Зайти на https://xiaomifirmwareupdater.com/

3.2. Выбрать в меню сайта Downloads/MiUI.

3.3. Набрать в поиске «a2»

3.4. Нажать Download в строке Mi A2 Global Fastboot V11.0.28.0.QDIMIXM 10.0 1.7 GB

3.5. На этой странице промотать вниз и найти образ со строчкой Type: Fastboot, его и скачать.

3.6. Скачается файл https://bigota.d.miui.com/V11.0.28.0.QDIMIXM/jasmine_global_images_V11.0.28.0.QDIMIXM_20210702.0000.00_10.0_d88fa668a6.tgz

3.7. Удостовериться, что файл скачивается с домена miui.com.

3.8. Удостовериться, что MD5 на сайте https://xiaomifirmwareupdater.com/ начинается с той же строки, которой кончается имя скачанного файла.

3.9. Проверить MD5 скачанного файла.

  1. Я распаковал этот .tgz файл. Появился каталог, в нём куча файлов, из которых нужен только файл boot.img. Он был в каталоге jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images.

  2. Засунуть этот файл на телефон:

~/apps/android/platform-tools/adb push ~/Downloads/jasmine_global_images_V11.0.28.0.QDIMIXM_10.0/images/boot.img /storage/self/primary/Download/
  1. Запустить Magisk на телефоне, выбрать там Install, выбрать boot.img в папке с загрузками, нажать Install. Процесс займёт некоторое время. В конце концов в папке с загрузками сгенерируется файл с именем вида magisk_patched-23000_jaofM.img, его вытаскиваем на компьютер:
~/apps/android/platform-tools/adb pull /storage/self/primary/Download/magisk_patched-23000_jaofM.img ~/Downloads/

Часть третья - разблокировка загрузчика.

  1. В андроиде нужно включить возможность разблокировки загрузчика: Settings / System / Advanced / Developer options / OEM unlocking

Если у вас нет этого пункта, разбирайтесь со своим телефоном сами, для каждого вендора тут свои пути.

  1. Перезагрузиться в режим fastboot. Проще всего набрать ~/apps/android/platform-tools/adb reboot bootloader но можно и какие-то там кнопочки при перезагрузке зажимать.

  2. USB-устройство будет другое, смотрите часть первую, пункт 4 при необходимости разобраться с правами, делайте всё точно так же, просто в файл 99-adb.rules добавить ещё одну строчку, перезагружаться после этого не надо, только переткнуть устройство. ~/apps/android/platform-tools/fastboot devices должен работать нормально.

  3. Собственно великий и могучий момент - разлочить загрузчик:

~/apps/android/platform-tools/fastboot flashing unlock

На телефоне появится меню, кнопками регулирования громкости выбрать пункт Unlock the bootloader и нажать Power для подтверждения.

После этого у вас телефон переустановит всё, тут обычная процедура как при первом включении, зайти в аккаунт гугл, скачать обновления в play market, поставить нескучные обои и тд.

Во время загрузки телефона у меня снизу появилась надпись «Unlocked».

  1. См. часть первую, пункты 1 и 2.

Часть четвёртая, установка пропатченного boot

  1. Опять перезагрузиться в режим fastboot: ~/apps/android/platform-tools/adb reboot bootloader

  2. Установить пропатченный boot:

~/apps/android/platform-tools/fastboot flash boot ~/Downloads/magisk_patched-23000_jaofM.img
  1. Перезагружаемся: ~/apps/android/platform-tools/fastboot reboot

  2. Примерно в этом месте устройство должно превратиться в кирпич, если что-то пошло не так. Если всё пошло так, то в меню появится пункт Magisk с дефолтной иконкой. Нажимаем его, прощёлкиваем, в принципе там всё понятно. В итоге он скачивает, устанавливает и запускает Magisk, который нам сразу предлагает завершить установку и перезагрузить устройство. Соглашаемся.

  3. После перезагрузки запускаем опять Magisk, копаемся в настройках, настраиваем что вам надо. Мне, например, root нужен только в adb, что я и настроил. В принципе всё.

Часть пятая, использование root:

  1. Открываем shell: adb shell

  2. Получаем рута: su и сразу на телефоне подтверждаем.

Собственно всё. Также прочитайте, как обновлять ОС, чтобы не потерять рута: OTA Upgrade Guides.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

Magisk сам патчит и вытаскивает образ, просто скачай приложение, выбери в нем пропатчить boot (уже не помню где оно находится) и прошей его через fastboot. На разблокированном загрузщике, да-да.

anonymous
()
Ответ на: комментарий от anonymous

Если сам вытаскивает образ, хорошо. В гайде на сайте магиска про это не было написано, мне пришлось самому искать.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Как magisk без рута достанет и пропатчит boot?

xmikex ★★★★
()
Ответ на: комментарий от xmikex

патченные версии Сбера

Офигеть, и что, такое кто-то запускает?

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Если у тебя уже разблокирован загрузчик, то можно поставить recovery и magisk, а прошивку оставить ту, какая есть.

Кстати, а ты не смотрел ifft (вроде так называется софт) возможно проще на нём что-то сделать, чем ломать и через adb.

vitruss ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.