Как разблокировать загрузчик на новых устройствах Unisoc (T7510)

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

Метод разблокировки, о котором мы расскажем ниже, основан на уязвимостях в BootROM. Злоумышленник, имеющий физический доступ к устройству, может подменить указатель функции в разделе данных BootROM или адрес возврата, хранящийся в стеке, что позволяет ему запускать собственный код с полномочиями. из BootROM.

подробная информация о доступных уязвимостях здесь

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

unisoc BootROM можно взять отсюда здесь или стек-info.csv.

Инструкции

Шаг 1: перезаписать стек для выполнения FDL1 без проверки

Использовать custom_exec_no_verify_3f88.bin для замены стека, если устройство перешло в режим загрузки, удерживая указанную кнопку во время запуска (обычно уменьшение громкости).

Использовать custom_exec_no_verify_3f28.bin для замены стека, если устройство перешло в режим загрузки после того, как все попытки загрузки не увенчались успехом (например, если загрузчик был удален и ни одна клавиша не была нажата).

Создайте custom_exec.bin в соответствии с BootROM, чтобы получить больше Socs, затронутых CVE-2022-38694.

Шаг 2. Измените FDL1.

Патч 1: Проверка NOP(1F 20 03 D5) в data_exec.

Патч 2: измените режим загрузки (0x102) (40 20 80 52) на режим загрузки (0x104) (80 20 80 52).

  • Применять патч 1 в исходный FDL1, сохраните как fdl1-dl.bin.
  • Применять патч 1 и патч 2 к оригинальному FDL1, сохраните как fdl1-boot.bin.

Использование FDL1 от другой модели (того же Soc) кажется безопасным. К сожалению, только в режиме загрузки. Для разблокировки загрузчика требуется специфичный для устройства fdl1. Если ваш производитель не предоставляет fdl1, вы можете скомпилировать его самостоятельно (вам потребуется изменить некоторый код инициализации ddr для работы с splloader).

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

Шаг 3. Измените FDL2 (uboot)

Патч 1: патч do_cboot.

искать ПровереноBoot-UNLOCK найти set_lock_status.

искать 0x32121BAC или 0x1BAC (конкретный адрес T7510?), а перезагрузка_устройств начинается с ЧМП П0,#3 ЧМП П0,#4 КМП П0,#2.

искать войти в режим загрузки найти do_cbootисправь его, чтобы позвонить set_lock_status и перезагрузка_устройства.

Патч 2: проверка записи NOP в защищенных разделах.

Как и fdl1, uboot для разблокировки загрузчика (режим загрузки) также должен зависеть от устройства. Однако вы можете использовать uboot другой модели (тот же Soc) в режиме загрузки, чтобы read_part ваше устройство

Часть 4. Получите список изображений Trustos и загрузите адрес из splloader.

получить splloader от read_part

Список и адрес легко получить, с _начинать звонки перезагрузить, перезагрузить звонки nand_boot, nand_boot загрузит изображения из emmc/ufs в память и загрузится.

устройствомодельандроидсмлтикфгтос
тыых2020ud710_20c1090x94000000незачем0x94040000
тыых2021ud710_7h10100x940000000x940200000x94040000
Хисенс А7ud710_2h10100x940000000x940200000x94040000

Разное: вам нужно знать правильный размер раздела, чтобы читать_часть, это можно сделать с помощью read_part user_partition 0 17K efi_part.img(На emmc работает, насчет ufs не знаю). Откройте efi_part.img в WinHex.

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

1: отправить fdl1-dl.bin, отправить uboot, read_part трастос изображения и chsize эти изображения

2: отправьте fdl1-boot.bin, отправьте модифицированный uboot с изображениями Trustos, sml должно быть последним, отправленным на устройство.

3: сотрите пользовательские данные, используйте один из способов загрузки/быстрой загрузки/восстановления (если ваши пользовательские данные используют формат f2fs, вы можете взять userdata.bin из ветки tyyh).

Вот команда, которую можно использовать с SPD_dump (необходимо заменить своими собственными данными)

Прочтите часть:

spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec read_part splloader 0 1m spl.bin read_part uboot_a 0 3m uboot.bin erase_part splloader reset

Написать часть

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec write_part uboot_a fdl2-cboot.bin write_part uboot_b fdl2-cboot.bin reset
spd_dump fdl fdl1-dl.bin 0x5500 fdl fdl2-dl.bin 0x9efffe00 exec write_part splloader spl.bin write_part uboot_a uboot.bin write_part uboot_b uboot.bin reset

Метод 2:

Кредит: Пользователи Github > TomKing062, Alephgsm, Iscle

Связанный:


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *