|
Professor Seleznov
|
Судя по характеристикам, внутри устройства с высокой вероятностью находится платформа от модели CT48 Предыстория Купил в Малайзии ТСД Urovo DT40 Pro, в российских интернет-магазинах они также продаются. На нем нужно было поставить определенный софт. Как оказалось, устройство не было в списке интегрированных этого софта, и работа сканера была неполноценна – только режим клавиатуры (ввод в поле), что очень омрачало. Скажете сам виноват – раз купил устройство не из списка интегрированных и будете правы. Подкупило название модели - DT40 Pro, так как в списке разработчика софта есть DT40, то решил, что версия Pro и подавно будет работать. Конечно же служба поддержки от Urovo и софта тут в праве не помогать и пожелали всего наилучшего. И так появилась задача как-то подружить это устройство и софт, посредством написания приложения посредника (будет отдельная статья). Вот для чего нам понадобился Root. Введение Терминалы сбора данных (ТСД) - это не смартфоны. Производители корпоративного оборудования, такие как Urovo, стараются намертво закрывать систему: нет открытых прошивок, а Fastboot ведёт себя нестандартно, нет мануалов. Первоначально, до начала операции рутирования, было собрано и проанализировано довольно много различных логов устройства через ADB, для выявления его начинки, процессора, типа и методов работы встроенного сканера. В этой статье - полный, проверенный на личном опыте мануал - до загрузки системы с правами суперпользователя. P.S.: Всё описанное аннулирует гарантию и может превратить устройство в «кирпич». Автор не несёт ответственности за ваши действия. Всё, что вы делаете, — на свой страх и риск. Процедура проводилась 1 раз. Что потребуется Железо:
- Urovo DT40 Pro (в системе определяется как CT48) с Android 12 с заряженной батареей
- Компьютер с Windows 10/11
- Кабель USB Type-C для передачи данных
Софт (детальные руководства по установке найдете в сети):
- ADB (Platform Tools): Скачать с developer.android.com и распаковать в «c:\platform-tools»
- Python 3.9+: Скачать с python.org. При установке обязательно отметить галочку «Add Python to PATH»
- MTK Client: Скачать с github.com/bkerler/mtkclient и распаковать в «c:\mtkclient» (Нужно установить необходимые библиотеки командой: pip3 install -r requirements.txt)
- UsbDk: Скачать с GitHub и установить
- MediaTek USB VCOM драйвер: Скачать из каталога обновлений Microsoft
- Magisk APK: Скачать со страницы релизов последнюю стабильную версию (например, Magisk-v30.7.apk)
Этап 1: Подготовка Шаг 1. Активация режима разработчика
- На ТСД открываем «Настройки» - «О телефоне».
- 7 раз нажимаем на «Номер сборки».
- Появляется меню «Для разработчиков».
Шаг 2. Включение завoдской разблокировки
- Заходим в «Для разработчиков».
- Находим пункт «Заводская разблокировка» и включаем его. «Заводская разблокировка» - это лишь разрешение на разблокировку загрузчика. Сам загрузчик пока ещё заблокирован.
- Там же включаем «Отладка по USB».
Этап 2: Разблокировка загрузчика (Bootloader) Шаг 1. Вход в Fastboot через ADB, не стал искать комбинации кнопок: Подключаем ТСД к ПК, открываем командную строку и переходим в «c:\platform-tools» и вводим команду: adb reboot bootloader ТСД перезагружается, внизу экрана горит «=> FASTBOOT mode...». Шаг 2. Установка драйверов MediaTek
- На ПК открываем «Диспетчер устройств».
- Находим устройство с VID «0E8D» и PID «201C» — оно будет в разделе «Другие устройства» с восклицательным знаком.
- Правый клик и обновляем драйвер с папки, куда его предварительно скачали.
Шаг 3. Проверка связи командой в командной строке: fastboot devices Должен отобразиться серийный номер устройства и слово «fastboot». На всякий случай проверим действительно ли заблокирован Загрузчик: fastboot getvar unlocked Вывод «unlocked: no» — загрузчик заблокирован. Будем разблокировать. Шаг 4. Разблокировка Вводим команду в командной строке: fastboot flashing unlock На экране ТСД появится предупреждение о сбросе данных. Подтверждаем: с помощью кнопкой Vol+ (она же "Вверх") на клавиатуре или кнопкой сканирования/питания. После подтверждения начнётся сброс до заводских настроек. Процесс занимает до минуты. В логах ПК появится сообщение «OKAY». Шаг 5. Перезагрузка Принудительно перезагружаем кнопкой питания или командой: fastboot reboot Первая загрузка после сброса может занять 5–10 минут - это нормально. Этап 3: Извлечение заводского boot.img через MTK Client Стоковых прошивок Urovo в открытом доступе нет. К счастью, boot-образ можно снять напрямую с устройства благодаря особенностям чипов MediaTek. Шаг 1. Установка MTK Client и UsbDk из скачанного ранее установщика. После установки не забываем загрузить зависимости: Откройте командную строку (cmd) и перейдите в папку с распакованным архивом: cd c:\mtkclient Выполните команду для установки необходимых библиотек: pip3 install -r requirements.txt Шаг 2. Чтение boot_a раздела Устройство использует разметку A/B, поэтому будем читать активный слот «_a». 1. Полностью выключаем ТСД (зажать кнопку питания на 15–20 секунд). Экран должен быть чёрным. 2. В командной строке в папке "c:\mtkclient" выполняем: python mtk.py r boot_a boot_a.img MTK Client переходит в ожидание: "Waiting for PreLoader VCOM..." 3. На выключенном ТСД зажимаем Vol+ (она же "Вверх") на клавиатуре и, удерживая её, подключаем USB-кабель. Экран остаётся тёмным. 4. MTK Client обнаруживает устройство, обходит защиту и начинает чтение. Прогресс-бар дойдёт до 100%, и в папке появится файл «boot_a.img». Примечание: На всякий случай сохраните и образ vbmeta_a: python mtk.py r vbmeta_a vbmeta_a.img Он может пригодиться, если система откажется загружаться с модифицированным boot. Этап 4: Патчинг boot-образа в Magisk 1. Устанавливаем скачанный APK Magisk на ТСД. 2. Копируем «boot_a.img» из папки «c:\mtkclient» во внутреннюю память устройства. 3. Открываем Magisk. В карточке «Magisk» нажимаем «Установить» - «Выбрать и исправить файл». 4. Выбираем скопированный «boot_a.img». Начинается процесс патчинга. 5. После завершения в той же папке появляется файл с именем вида: magisk_patched_v30.7_XXXXX.img Именно его мы и будем прошивать обратно. Этап 5: Прошивка пропатченного ядра 1. Копируем «magisk_patched_v30.7_XXXXX.img» с ТСД обратно в папку «c:\mtkclient». 2. Полностью выключаем ТСД. 3. В командной строке (в папке "c:\mtkclient") выполняем: python mtk.py w boot_a magisk_patched_v30.7_XXXXX.img 4. Повторяем процедуру входа в BROM: Vol+ (она же "Вверх") на клавиатуре и подключение USB на выключенном устройстве. 5. MTK Client записывает образ в раздел «boot_a». В логах: «Wrote magisk_patched... to sector...». Этап 6: Перезагрузка и проверка 1. Перезагружаем ТСД: python mtk.py reset Или долгим удержанием кнопки питания. 2. Ждём загрузки системы (может быть дольше обычного). 3. Проверяем root. Подключаем ТСД к ПК (с включённой отладкой по USB) и выполняем: adb shell su Если появится запрос на предоставление прав в Magisk на самом ТСД - предоставьте. Если приглашение командной строки сменится с $ на # - root активен. Если увидите ошибку Permission denied - root не получен. В приложении Magisk также будет отображаться статус «Installed: 30.7». Возможные проблемы и их решение «Device is protected. Auth file is required» Нормальное поведение MTK Client — утилита автоматически обходит защиту с помощью Kamakiri, накатной на payload mt6765_payload.bin. Это не ошибка, ничего не трогаем, процесс идёт дальше. «Error: Couldn't detect partition: boot» Ваше устройство использует схему A/B. Читать нужно boot_a или boot_b, а не boot. Список доступных разделов MTK Client выводит перед ошибкой — проверьте, какой именно слот активен. ТСД не загружается после прошивки 1. Не паникуем. 2. Снова входим в BROM и прошиваем оригинальный “boot_a.img” обратно: python mtk.py w boot_a boot_a.img 3. Если не помогло — прошейте сохранённый vbmeta_a.img обратно. Попадание в китайское Factory Mode вместо BROM ТСД был не полностью выключен. Выбираем последний пункт 重启手机, даём загрузиться Android, выключаем снова (зажатием на 15–20 секунд) и повторяем процедуру. Заключение Мы успешно получили root на корпоративном терминале Urovo DT40 Pro (CT48) с Android 12, на котором стандартные методы не работали. Ключевые моменты:
- Загрузчик разблокирован альтернативной командой «fastboot flashing unlock»
- Boot-образ снят с помощью MTK Client в обход закрытой системы
- Ядро пропатчено в Magisk и прошито обратно через низкоуровневый доступ BROM
- Root активен и работает стабильно
-Источник
|
|
|