LINUX.ORG.RU
ФорумMobile

Стянуть init_boot.img с нерутованого телефона (для получения root)

 , , , ,


0

2

Я хочу рутануть телефон. Motorola Edge 50 Neo. Для этого мне нужен init_boot.img. В свободном доступе такой не валяется для прошивки, которая на моём телефоне. Только для чуток более старых версий (но тоже Android 16). fastboot только шьёт, читать прошивку не могёт(

Почему-то я решил, что софт от производителя позволит сделать мне «бекап», из которого я и вытащу тот самый init_boot.img.

~ ❯❯❯ adb shell getprop ro.build.display.id
W1UIS36H.39-17-4

Обзавёлся ноутом на Винде. Пока ничего не тыркал.


На 4pda появился нужный мне образ, канал, правда, retapac, а у меня reteu. Понятия не имею, есть ли различия для init_boot.img.

Но это не снимает вопроса: как получить init_boot.img с ещё нерутованого девайса с разблокированным загрузчиком?

Перемещено hobbit из general

★★★★

Последнее исправление: hobbit (всего исправлений: 2)

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

no-dashi-v2 ★★★★
()
Ответ на: комментарий от anonymous

Кажется я хочу то, что даже винда сделать не позволит.

Ещё и топик — Проблема XY.

Я хочу рутануть телефон. Motorola Edge 50 Neo. Для этого мне нужен init_boot.img. В свободном доступе такой не валяется для прошивки, которая на моём телефоне. Только для чуток более старых версий (но тоже Android 16). fastboot только шьёт, читать прошивку не могёт(

~ ❯❯❯ adb shell getprop ro.build.display.id
W1UIS36H.39-17-4

Обзавёлся ноутом на Винде. Пока ничего не тыркал.

Как получить init_boot.img с ещё нерутованого девайса с разблокированным загрузчиком?

Почему-то я решил, что софт от производителя позволит сделать мне «бекап», из которого я и вытащу тот самый init_boot.img.

cast:


На 4pda появился нужный мне образ, канал, правда, retapac, а у меня reteu. Понятия не имею, есть ли различия для init_boot.img.

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

ИМХО, даже если ты вытащишь прошивку, вряд ли это поможет в получении рута

  1. ты вряд ли убедишь телефон загрузиться с твоей, т.к. android verified boot

https://wiki.postmarketos.org/wiki/Android_Verified_Boot_(AVB)

  1. Сейчас вроде для получения рута модно использовать magisk

https://en.wikipedia.org/wiki/Magisk_(software)

  1. Но что тебя наверняка заинтересует, так это работа с чипом медиатека
  • под винду есть SF Flash Tool. Но он немного упоротый и заточен конкретно на прошивку. Остальное там сделали на отцепись

  • зато под линукс (точнее, под питон) есть несколько вариантов. Мне больше всего понравился mtkclient на питоне https://github.com/bkerler/mtkclient

порядок загрузки на чипах mediatek:

  • bootrom - внутренний загрузчик, намертво (fixme) зашит в процессоре. VID_0E8D, PID_0003
  • preloader - первичный внешний загрузчик, VID_0E8D, PID_200*
  • uboot - вторичный внешний загрузчик

обычно можно комбинацией клавиш прервать процесс загрузки и остановиться (не надолго) в bootrom или preloader

у многих производителей просто зажать кнопку громкости при загрузке

обычно где-то на секунду, потом загрузка идет дальше, если со стороны компа не было подключений отладчика

это можно видеть в

dmesg -Tw

там будут появляться и исчезать устройства. Например, VID_0E8D, PID_0003 для bootrom. В терминах вендора (fixme) это называется «usb порт для прошивки»

В общем,

  • гуглишь как на твоем телефоне увидеть порт прошивки
  • через dmesg убеждаешься, что порт появляется (на секунду или на пять, это нормально)
  • через udev выдаешь своему пользователю права на эти устройства (по аналогии с adb)
  • читаешь хотя бы readme к mtkclient чтобы понять, что ты от него хочешь
# надеюсь, не нужно напоминать, что неизвестный код лучше запускать на отдельном компе, который не жалко?
# или хотя бы в виртуалке (в которую ты через iommu пробросишь usb root hub)


./mtk.py printgpt
./mtk.py dumppreloader
# дамп всей флешки
./mtk.py rf /opt/dump/whole_flash.raw
# или по отдельным партициям, кроме userdata
./mtk.py rl --skip userdata /opt/dump/parts/
  • запускаешь mtkclient (он будет ждать появления usb порта прошивки)
  • загружаешь телефон с зажатой кнопкой

если все будет нормально, mtkclient поймает появившийся порт и выполнит твою команду

я так прошивку слил. вот что дальше с ней делать - пока без понятия %)

Всё, что знал - сказал. Дальше сам

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

ЕМНПП, ядро + initrd + dtb будут в партиции «boot»

З.З.Ы. Рекомендации: ни в коем случае не шить preloader и dsp_bl (неизвестно чем). Да и вообще без острой необходимости. Только когда знаешь, что делаешь

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

И самое важное. Телефон твой, за свои действия отвечаешь лично ты

mtkclient во время работы заливает в память телефона свой payload для работы

И в некоторых случаях использует какой-то эксплоит

Я экспериментировал на отдельном телефоне, который не жаль потерять и на котором я ничего важного не держу

Твой же, судя по вики, новый (2024). И может даже твой основной с банк клиентом. Я бы на твоем месте крепко задумался

router ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария