До недавнего времени для получения рута я доставал образ ядра (boot.img) из текущей прошивки, патчил его Magisk’ом и запаковывал в zip архив с подписью для прошивки из recovery посредством подключения USB-флешки на включенной магнитоле.
ui_print(«Target: Allwinner/t3_p1/t3-p1:8.1.0/OPM1.171019.026/20190715-202310:eng/test-keys»);
package_extract_file(«boot.img», «/dev/block/by-name/boot»);
set_progress(1.000000);
команда из скрипта updater-script для прошивки Recovery. Теперь этот способ неактуален.
В целом, никто не мешает пользоваться этим способом. Но товарищ из группы в фейсбуке по магнитоле Yuehoo предложил альтернативный способ.
Скачиваем патченное ядро по ссылке выше. Если хотите откатиться на оригинальное и убрать root права, то скачайте оригинальное и проделайте всё аналогично по инструкции.
Устанавливаем Magisk Manager на магнитолу как обычное приложение:
Установка без Рут прав Magisk + Root + SU Усовершенствование прошивок. Инструкции Android TV
Далее нам потребуется терминал. В прошивке KC1C01W5-O0G-1.0.4.9.1_20210730 есть встроенный, но он скрыт от пользователя. Потому установить самый популярный терминал из Google Play не выйдет, нужно скачать какой-нибудь другой. Я использовал Material Terminal:
В терминале на магнитоле вводим команду: setprop service.adb.tcp.port 5555
Тем самым мы активируем ADB через WiFi. Для применения эффекта нужно перезагрузить сервис ADB на магнитоле, команда: setprop ctl.restart adbd
Далее переходим к компьютеру или любому другому устройству с установленным ADB шеллом и находящимся в одной локальной сети с магнитолой.
На компьютере используем любой дистрибутив ADB/Fastboot, переходим в папку с adb.exe и правой кнопкой открываем терминал:
Далее команды вводятся в терминале на компьютере, будьте внимательны. Подключаемся к магнитоле: .adb.exe connect 192.168.3.30:5555 — где вместо 192.168.3.30 подставьте IP, выданный вашим роутером магнитоле. Глянуть его можно в настройках WiFi, нажав по подключенной сети и выбрав внизу пункт дополнительно.
Получаем временный рут доступ: .adb.exe root
Монтируем корневой раздел для перезаписи: .adb.exe remount / rw
Копируем патченное ядро в раздел /boot: .adb.exe push .magisk_patched-2300_fgoxu.img /dev/block/mmcblk0p4
Перезапускаем магнитолу: .adb.exe reboot
Готово. После перезапуска магнитола запустится уже с патченным Magisk ядром. Заходим в ранее установленное приложение Magisk Manager и завершаем установку, соглашаясь в появившемся диалоговом окне. На предупреждения о конфликте со встроенным бинарником su не обращаем внимание. Магнитола на последней прошивке судя по всему имеет встроенный рут, но доступа к нему мы не нашли.
TV BOX X96 Max Plus Q2 Получаем Рут Права ( Root ). Root SuperSU Firmware Stock Amlogic S905X3
2 ответа к «Легкий способ получить Root на магнитолах AllWinner T3 (Wanqi, YUEHOO YH-605)»
Приветствую, когда ввожу .adb.exe root в терминале, ничего не происходит нет ни ошибки ни подтверждения, как будто терминал виснет(
Источник: cobaltr4.ru
Попался мне девайс AllShare Cast (девайс по типу Chormecast, от Samsung), вот такой:
Не зная, что с ним делать, я подумал: «Минуточку, там же должен стоять Linux… А если стоит Linux — там есть SoC… А если там есть SoC, значит там есть интерфейс UART, через который на этом Linux можно получить shell и root-права!»
Дисклеймер
Разборка устройства влечёт потерю гарантии.
За любые последствия, связанные с выполнением действий, описанных в данной статье, автор ответственности НЕ НЕСЁТ.
Для начала нам нужны:
- Сам девайс, куда же без него.
- Отвёртка.
- Адаптер USB->UART (3.3 вольта, ни в коем случае не RS-232, он напросто пережжёт устройство!)
- Щупы, чтобы прицепиться к контактам на плате.
После того, как винты откручены, верхнюю крышку можно будет подковырнуть плоской отвёрткой (она на защёлках).
Под крышкой вы увидите это:
Плата донгла
Теперь можно аккуратно вытащить плату и подключить к ней адаптер. Распайка приведена ниже, наименования сигналов относительно пинов на адаптере.
Распайка UART на плате
Примечание: адаптер и донгл следует подключить к одному и тому же комьпьютеру, или соединить корпус любого из разъёмов на плате устройства с пином GND на адаптере.
UPD:Скорость порта — 115200 бод.
Открываем терминал на компьютере и подключаем питание к донглу, при этом зажимая Enter в окне терминала. Нас должен радостно встретить загрузчик, если этого не произошло:
Устранение неполадок
Если в терминале ничего не видно:
- Проверьте питание адаптера и донгла
- Проверьте подключение адаптера UART к плате
- Попробуйте поменять местами провода TX и RX
U-Boot 2011.06-svn10711 (Jun 12 2012 — 21:21:34) I2C: ready DRAM: 256 MiB SF: Unsupported manufacturer c8 SPI Speed at [R:23MHz/W:47MHz] Flash Size: 64KB NAND: 256 MiB MMC: initializing secure environment Bad block table found at page 131008, version 0x01 Bad block table found at page 130944, version 0x01 In: serial Out: serial Err: serial MAC: 00:1a:cc:00:00:01 Hit any key to stop autoboot: 0 CNCl800L>
Ну вот, теперь наша задача — загрузить ядро и получить шелл. Так просто этого сделать не получится, потому, что там всё ядро и initrd криптованы и подписаны.
Чтобы получить рут-шелл, нужно вбить в бутлоадер следующие команды (комментарии набирать не следует):
nand read 06020000 2400000 2000000 # читаем ядро с флэш-памяти, это займёт от 5 до 10 секунд. cryptotest 06020000 08080000 2000000 # расшифровываем ядро nand read 8000000 5801000 20000 # читаем initrd cryptotest 8000000 bfff000 20000 # расшифровываем его setenv bootargs $ rdinit=/bin/sh # подсовываем /bin/sh как init ядру bootm 08080000 # и запускаем его
Дальше пойдёт загрузка, после неё мы увидим следущее:
Теперь нажимем Enter и радуемся.
Благодарности:
irc-канал #Exploiteers на freenode
Источник: forpes.ru
Получаем рут на ТВ-донгле
Попался мне девайс AllShare Cast (девайс по типу Chormecast, от Samsung), вот такой:
Не зная, что с ним делать, я подумал: «Минуточку, там же должен стоять Linux… А если стоит Linux — там есть SoC… А если там есть SoC, значит там есть интерфейс UART, через который на этом Linux можно получить shell и root-права!»
Дисклеймер
Разборка устройства влечёт потерю гарантии.
За любые последствия, связанные с выполнением действий, описанных в данной статье, автор ответственности НЕ НЕСЁТ.
Для начала нам нужны:
- Сам девайс, куда же без него.
- Отвёртка.
- Адаптер USB->UART (3.3 вольта, ни в коем случае не RS-232, он напросто пережжёт устройство!)
- Щупы, чтобы прицепиться к контактам на плате.
Начнём с разборки девайса, нужно сначала снять резиновую «подошву» снизу корпуса, под ней есть три винта (отмечены красным):
После того, как винты откручены, верхнюю крышку можно будет подковырнуть плоской отвёрткой (она на защёлках).
Под крышкой вы увидите это:
Плата донгла
Теперь можно аккуратно вытащить плату и подключить к ней адаптер. Распайка приведена ниже, наименования сигналов относительно пинов на адаптере.
Распайка UART на плате
Примечание: адаптер и донгл следует подключить к одному и тому же комьпьютеру, или соединить корпус любого из разъёмов на плате устройства с пином GND на адаптере.
UPD:Скорость порта — 115200 бод.
Открываем терминал на компьютере и подключаем питание к донглу, при этом зажимая Enter в окне терминала. Нас должен радостно встретить загрузчик, если этого не произошло:
Устранение неполадок
Если в терминале ничего не видно:
- Проверьте питание адаптера и донгла
- Проверьте подключение адаптера UART к плате
- Попробуйте поменять местами провода TX и RX
U-Boot 2011.06-svn10711 (Jun 12 2012 — 21:21:34) I2C: ready DRAM: 256 MiB SF: Unsupported manufacturer c8 SPI Speed at [R:23MHz/W:47MHz] Flash Size: 64KB NAND: 256 MiB MMC: initializing secure environment Bad block table found at page 131008, version 0x01 Bad block table found at page 130944, version 0x01 In: serial Out: serial Err: serial MAC: 00:1a:cc:00:00:01 Hit any key to stop autoboot: 0 CNCl800L>
Ну вот, теперь наша задача — загрузить ядро и получить шелл. Так просто этого сделать не получится, потому, что там всё ядро и initrd криптованы и подписаны.
Чтобы получить рут-шелл, нужно вбить в бутлоадер следующие команды (комментарии набирать не следует):
nand read 06020000 2400000 2000000 # читаем ядро с флэш-памяти, это займёт от 5 до 10 секунд. cryptotest 06020000 08080000 2000000 # расшифровываем ядро nand read 8000000 5801000 20000 # читаем initrd cryptotest 8000000 bfff000 20000 # расшифровываем его setenv bootargs $ rdinit=/bin/sh # подсовываем /bin/sh как init ядру bootm 08080000 # и запускаем его
Дальше пойдёт загрузка, после неё мы увидим следущее:
Теперь нажимем Enter и радуемся.
Благодарности:
irc-канал #Exploiteers на freenode
Источник: savepearlharbor.com