Группа разработчиков создала утилиту Python для обхода процедуры аутентификации MediaTek SP Flash Tool. Проверьте это сейчас!
Устройства с чипсетами MediaTek имеют BROM (загрузочную постоянную память), которая обычно загружает предзагрузчик. исполняемый файл и впоследствии загружает систему Android, но также содержит альтернативный режим загрузки, известный как Режим загрузки. Он предназначен исключительно для OEM-обслуживания и может использоваться для разблокировки устройства, как и Режим аварийной загрузки Qualcomm (EDL). Собственная программа MediaTek под названием «SP Flash Tool» может использовать этот интерфейс для принудительной прошивки системного программного обеспечения на устройстве. Поскольку режим низкоуровневой загрузки фактически имеет полный контроль над хранилищем устройства, многие OEM-производители, включая Xiaomi и Realme, имеют начал запутывать процесс прошивки. Из-за этой практики прошивка прошивки в режиме загрузки может выполняться только с помощью подписанной программы «Агент загрузки», авторизованной соответствующим OEM-производителем, что по сути означает, что
вы не можете прошить или разблокировать свой смартфон, если у вас нет на это разрешения от производителя устройства.Что ж, фантастическое сообщество разработчиков XDA снова пришло на помощь. На основе загрузочный ROM-эксплойт изначально обнаруженный от старшего члена XDA xyz`, Разработчики Динолек и k4y0z придумали универсальный метод обхода, который совместим с широким спектром устройств на базе MediaTek, которым в противном случае потребовалась бы аутентификация во время прошивки. Этот метод, в котором используются полезные данные эксплойтов, специфичные для SoC, перехватывает запросы предварительной прошивки, сделанные SP Flash Tool, и принудительно устанавливает значения двух важных параметров. ("Аутентификация последовательного канала» и «Аутентификация агента загрузки».") как ложное, чтобы продолжить процесс прошивки без какой-либо авторизации.
Важно отметить, что для успешного перехвата полезных данных эксплойта требуется специально настроенный USB-драйвер. Если вы используете Windows, вам необходимо установить драйвер фильтра на основе libusb, чтобы переопределить набор драйверов по умолчанию. С другой стороны, пользователям Linux необходимо применить конкретный патч к ядру. Если вы не хотите трогать свою основную операционную систему, вы можете использовать ОгоньИСО – загрузочный ISO-образ GNU/Linux, созданный специально для этой цели.
Когда дело доходит до доступа к режиму загрузки MediaTek, вам просто нужно выключить целевое устройство, удерживать кнопку увеличения громкости (уменьшение громкости для телефонов Xiaomi) и подключить телефон к компьютеру. Вы должны увидеть новое последовательное устройство в списке диспетчера устройств (Windows) или в выводе dmesg | grep usb
(Линукс).
На этом этапе выполните этот простой процесс из 5 шагов, чтобы отключить защиту загрузочного диска:
- Загрузить и установить Питон. Пользователям Windows следует выбрать «Добавить Python XX в PATH» при появлении запроса.
- Установите необходимые зависимости, используя
pip
:pip install pyusb pyserial json5
- Загрузите утилиту обхода.
- Распакуйте архив, запустите утилиту и подключите телефон в режиме MediaTek Download. В конце журнала должно появиться сообщение «Защита отключена».
- Окна:
pythonmain.py
- Линукс:
./main.py
- Окна:
- После этого, не отключая телефон, запустите SP Flash Tool в режиме UART Connection.
Вот и все! Процедура аутентификации пропускается, и теперь вы готовы прошить/разблокировать свой телефон. Если кто-то более опытный захочет пойти дальше, он может записать измененную резервную копию раздела на восстановить испорченный IMEI, но это выходит за рамки данной статьи.
Список поддерживаемых в настоящее время SoC можно найти ниже. Предполагается, что метод обхода работает таким же образом на других чипсетах MediaTek, но кто-то должен сначала закодировать подходящую полезную нагрузку, чтобы отключить процедуру защиты загрузочного диска.
Список поддерживаемых SoC
- мт6261
- мт6572
- мт6580
- мт6582
- мт6735
- мт6737
- мт6739
- мт6755
- мт6757
- мт6761
- мт6763
- мт6765
- мт6768
- мт6771
- мт6785
- мт6799
- мт6873
- мт8127
- мт8163
- мт8173
- мт8695
читать далее
Заключение
Если вы помните, почти год назад чипсеты MediaTek были признаны уязвимыми к опасному руткиту. и его активно использовали хакеры для получения root-доступа. При этом неизвестно, почему тайваньская компания по разработке микросхем до сих пор не исправила в своих чипсетах ошибку, позволяющую обойти цепочку доверия при перепрошивке. Хотя мы увидели только хорошую сторону ситуации, с точки зрения безопасности она становится еще хуже, если принять во внимание сотни менее известных моделей устройств, использующих эти чипы MediaTek.
Есть и другой аспект ситуации с точки зрения сообщества заказных разработчиков, интересы которого мы представляем. Большинство устройств MediaTek находятся в неустойчивом сочетании легкого выхода из строя и сложного восстановления. Вдобавок ко всему, требование принудительной авторизации действительно ограничивает потенциал развития послепродажного обслуживания. Метод обхода — не что иное, как проблеск надежды для владельцев устройств MediaTek, которые просто хотят избавиться от хлопот, связанных с разблокировкой сцены моддинга.
Тем, кто заинтересован в изучении кодовой базы метода обхода, следует взглянуть на ссылку GitHub ниже. Вы также можете пообщаться с разработчиками, посетив ветка обсуждения.
MediaTek SP Flash Tool Обход аутентификации Репозиторий GitHub