Постараюсь разъяснить все подробнее по поводу блокировки-разблокировки загрузчика. На последних страницах много вопросов и домыслов по этой теме и мало достоверной информации.
1) Что вообще такое "блокировка загрузчика"?На нашем телефоне (и на ряде других на совместимых процессорах) существует целая цепочка загрузчиков (за более глубокими подробностями можно сходить
в эту тему). Одним из участников цепочки является aboot (он же emmc_appsboot.mbn). В нашем случае (бывают и более сложные схемы блокировки) именно он отвечает за блокировку. Он проверяет раздел boot (там ядро) и/или system (там сама система) на предмет оригинальности.
2) Что происходит при разблокировке?MiFlashUnlock получает некий уникальный идентификатор телефона, шлет его на свой сервер и получает в ответ некий уникальный набор данных, который прописывается в конце раздела aboot. В дальнейшем aboot видит этот набор данных, проверяет его, и, если все ОК, то не проверяет оригинальность системы. Использование чужого aboot ничего не даст - набор данных уникален для каждого телефона. Основные подробности
тут и
тут.
3) Как можно обойти блокировку?Существует aboot, который распространяется в прошивках от китайских продавцов. Там, судя по всему, проверка оригинальности системы просто не производится. Т.е. с этим aboot понятия блокировки по сути нет. Именно этот файл я использую
тут. Также этот файл использован в прошивках 6.5.26, 7.3.2 от xiaomi.eu.
У меня есть предположение, что этот файл взят из прошивки 6.2.8 для Redmi 3, где блокировки просто не было. Упоминания об этой прошивке существуют, но найти ее мне не удалось.
4) Как снова заблокировать телефон?Достаточно просто - использовать оригинальный emmc_appsboot.mbn и затереть данные, полученные в п.2. Сам оригинальный emmc_appsboot.mbn перезаписывает лишь чуть больше половины раздела aboot, не трогая данные о разблокировке.
Т.е. есть эти несколько байт в разделе aboot - телефон разблокирован. Нет - заблокирован. Стоит патченный emmc_appsboot.mbn - блокировка просто не проверяется вообще.
Также патченный emmc_appsboot.mbn перезаписывает раздел aboot целиком. Т.е. по сути стирает разблокировку. В принципе ничто не мешает его подрезать (там все равно нули), но об этом как-то и не думали, т.к. его обычно используют на телефонах, которые не пытались разблокировать.
Однако, в версиях 6.5.26 и 7.3.2 прошивки от xiaomi.eu (и оттуда же он перекочевал в прошивку от greatslon) они внезапно решили его использовать, что и привело к массовой потере разблокировки. При этом сама прошивка xiaomi.eu будет работать без проблем. Бутлуп будет если после нее установить какую-то другую прошивку, которая перезапишет aboot (обычно все прошивки это делают).
Зато прошивки от xiaomi.eu теперь можно ставить на заблокированный телефон без дополнительных манипуляций.
5) Как сохранить разблокировку перед установкой патченного aboot?Вы уже наверное догадались - нужно сделать бэкап aboot.
Это можно сделать через TWRP (проще, но не во всех версиях TWRP есть) или через терминал (можно сделать из любого TWRP или из обычного режима с рутом, можно делать на телефоне или через adb).
Через терминал это делается так:
Бэкап:
dd if=/dev/block/mmcblk0p4 of=/sdcard/aboot.img
Восстановление:
dd if=/sdcard/aboot.img of=/dev/block/mmcblk0p4
/sdcard/aboot.img - файл бэкапа.
Добавлено 04.06.2016, 23:06: marat064, Teppopict,Можно, инструкция в шапке - "Как установить TWRP и любую прошивку на телефон с заблокированным загрузчиком".
Сообщение отредактировал peter23 - 07.06.16, 01:35Причина редактирования: Как сохранить разблокировку