В свободное время я изучил интересный программный способ снятия SIM-Lock'а без всяких манипуляций с процедурой TestPoint и без использования капризной программы P2K Easy Tool и её опасных техник вроде понижения версии Boot Loader. Этот способ разлочки был разработан человеком под ником L4c и использовался в основном для снятия блокировки на телефонах L2, L6, V19x и некоторых других использующих SOC Neptune LTE. В этом году Indepth6 случайно залочил свой Motorola V235 и обратился за помощью в наш Telegram-чат, где мне удалось портировать метод снятия Subsidy Password и на V235, который построен уже на более новом SOC -- Neptune LTE2, хоть и пытается мимикрировать под первую версию LTE. По итогу SIM-Lock с V235 был успешно снят, что ранее без TestPoint'а было невозможно.
В общем, сначала я напишу здесь инструкцию как разлочить ваш телефон и как избежать случайной блокировки, а после подробно опишу метод разлочки.
1. Инструкция по программному снятию SIM-Lock на Motorola SLVR L2, L6, V19x, V235
Для разлочки нам понадобится система в которой будут работать Flash Mode и P2K Mode по USB. Можно использовать Windows XP, Windows 7 (32-bit, 64-bit), а вот на современных Windows 10, Windows 11, Ubuntu 22.04 LTS могут быть проблемы с подключением. Поэтому я рекомендую воспользоваться виртуальными машинами со специально подготовленными образами, в которых уже установлены все необходимые драйвера и программы. Информацию по их использованию и установке можно найти в этой теме: Образы виртуальных машин для телефонов Motorola.
1.1. В любом случае, первым делом устанавливаем на ваш хостовый компьютер подходящие по битности драйвера:1.2. Скачиваем и устанавливаем официальную программу от Motorola для прошивки телефонов -- RSD Lite v3.8 и любую программу для редактирования SEEM-ячеек, я предпочитаю использовать известный всем незаменимый комбайн для работы с P2K-телефонами Motorola, P2K Tools VS последней версии:1.3. Скачиваем непосредственно сам набор файлов для разблокировки телефонов, распаковываем его в любое доступное место:1.4. Переводим телефон во Flash-режим по зажатию кнопок "*", "#", "Красная трубка" когда он выключен и в таком состоянии подключаем телефон к компьютеру или к виртуальной машине. Аккумулятор должен быть заряжен, желательно полностью.
1.5. Запускаем прошивальщик RSD Lite v3.8 и прошиваем в телефон патченную прошивку:
Лично мне удобно проливать подобные SEEM'ы с помощью программы P2K Tools VS.
1.7. Перезагружаем телефон. Теперь, если он снова попросит ввести Subsidy Password, забиваем "00000000" (все ноли) в поле ввода и радуемся разлоченному телефончику.
2. Подробная видеоинструкция на YouTube
Если вышеописанная инструкция показалась для вас сложной, я подготовил видео на YouTube с описанием всех шагов:
[video]https://www.youtube.com/watch?v=wWGjU3Kv7Dw[/video]
3. Как случайно не залочить телефон экспериментируя с прошивками?
Механизм установки SIM-Lock располагается в самом коде прошивки (CG1), но триггеры которые его активируют находятся во флексе (CG2) в файлах и SEEM-ячейках. К примеру, файлы "/a/mobile/system/generic_pds_init" и "/a/mobile/system/secure_pds_init" при первом включении телефона после прошивки перезаписывают некоторые ячейки в PDS и могут установить SIM-Lock.
Издавна существовал способ работающий по следующему принципу: перед любой прошивкой проливаем в телефон особый флекс, который сбрасывает пароль SIM-Lock на "00000000" и лочит эти SEEM'ы, после чего шьём подозрительную прошивку. Если в ней имеется SIM-Lock, то прошивка его установит, но не сможет изменить сброшенный пароль. Поэтому если запросит код, то просто вводим нолики и радуемся разблокированному телефону.Пролить перед прошивкой этот HS-файлик можно с помощью программ RSD Lite или Multi Flash Flex Tool в обычном P2K-режиме. Помните, что этот способ может обезопасить вас только перед проливкой лочёной прошивки, но уже не после того как вы её прошили без этого защитного метода.
4. Описание метода снятия SIM-Lock
Motorola решила обезопасить операторов сотовой связи, которые устанавливали подобные SIM-Lock'и и залочила возможность записывать в P2K-режиме через USB-шнурок некоторые SEEM'ы из PDS как раз для того, чтобы люди не могли переписать эти ячейки и избавиться от SIM-Lock'а. Но если пропатчить прошивку патчем где убрана проверка определённых SEEM-ячеек, которые заливаются по кабелю, то можно будет перезаписать их любой P2K-программой. К примеру, занулить их и навсегда забыть про SIM-Lock.
В любой P2K-прошивке имеется специальная таблица, которая регламентирует возможность или невозможность записи определённых PDS-ячеек в режиме P2K. Именно эту таблицу и требуется запатчить таким образом, чтобы SEEM'ы под номерами 01C3 (SEEM_GLOBAL_FEATURE_PROTECTED_STATE_NVM), 01C4 (SEEM_GLOBAL_FEATURE_PROTECTED_STATE_DEFAULT_NVM), 015C (SEEM_SUBSIDY_LOCK_GSM_SSCP), 015D (SEEM_SUBSIDY_LOCK_GSM_NWSCP) где хранится информация о залоченных SEEM-ячейках и SIM-Lock'е могли быть перезаписаны.
Таблица имеет следующий вид и структуру (схематично, в псевдокоде):
В бинарном представлении она выглядит так и ищется в CG1 по паттерну "00 00 00 00 00 00 00 00 01 5D 00 00 XX XX XX XX", где XX -- произвольный байт данных:
В таблице идёт сначала адрес ячейки (выделен синим), а потом уже идёт информация о том, возможно ли перезаписать её в P2K-режиме (отмечена красным).
Первая проблема вылезает в попытках переноса патча с одной прошивки на другую и состоит в том, что значения отмеченные красным менялись от прошивки к прошивке при их компиляции ещё на заводах Motorola и нельзя сказать, к примеру, что значение "10 0C FA F5" на другой прошивке соответствует утверждению "READ_WRITE_NOT_ALLOWED". Оно будет справедливо лишь для текущей прошивки.
Вторая проблема вытекает из первой: какому именно значению в HEX будет соответствовать утверждение "READ_WRITE_ALLOWED" пока неизвестно. Или же известно?
На самом деле нужно лишь немного изучить бинарное представление таблицы и обратить внимание на SEEM-ячейки 0004 (UNKNOWN), 00AB (BT_ADDR), 01BB (SERVICE_PASSWORD) и другие, запись которых в P2K-режиме разрешена. А это значит что если перенести следующие за ними HEX-значения на нужные SEEM'ы, то они тоже станут доступны для записи! В примере с изображения выше значение "10 0C FC 1B" вставленное после SEEM'ов 01C3, 01C4, 015C, 015D уберёт эту защиту.
Именно это и происходит в патченной прошивке. После отключения этой защиты дальше просто дело техники -- занулить существующие значения в этих четырёх PDS-ячейках и телефон будет разблокирован!
Стоит заметить, что этот метод многоразовый, то есть вы можете много раз лочить телефон и снова убирать SIM-Lock этим способом. Но самое крутое в нём то, что этот метод разлочки должен быть максимально кроссплатформенным и работать на всех мобильных телефонах где используется программная платформа P2K независимо от того на каком железе (LCA, ULS, LTE, LTE2, Rainbow POG, Patriot, Agron и др.) они базируются. Единственным, но самым важным условием является возможность обхода RSA на конкретном телефоне или платформе и прямые руки для подготовки необходимой патч-прошивки по методике выше. К сожалению с новыми и некоторыми редкими P2K-телефонами на которых не обошли RSA скорее всего подобное не провернуть, но абсолютно все старые LTE и LTE2 телефоны похоже что могут быть разлочены без надобности выполнения процедуры TestPoint.
5. Авторы
В общем, сначала я напишу здесь инструкцию как разлочить ваш телефон и как избежать случайной блокировки, а после подробно опишу метод разлочки.
1. Инструкция по программному снятию SIM-Lock на Motorola SLVR L2, L6, V19x, V235
Для разлочки нам понадобится система в которой будут работать Flash Mode и P2K Mode по USB. Можно использовать Windows XP, Windows 7 (32-bit, 64-bit), а вот на современных Windows 10, Windows 11, Ubuntu 22.04 LTS могут быть проблемы с подключением. Поэтому я рекомендую воспользоваться виртуальными машинами со специально подготовленными образами, в которых уже установлены все необходимые драйвера и программы. Информацию по их использованию и установке можно найти в этой теме: Образы виртуальных машин для телефонов Motorola.
1.1. В любом случае, первым делом устанавливаем на ваш хостовый компьютер подходящие по битности драйвера:1.2. Скачиваем и устанавливаем официальную программу от Motorola для прошивки телефонов -- RSD Lite v3.8 и любую программу для редактирования SEEM-ячеек, я предпочитаю использовать известный всем незаменимый комбайн для работы с P2K-телефонами Motorola, P2K Tools VS последней версии:1.3. Скачиваем непосредственно сам набор файлов для разблокировки телефонов, распаковываем его в любое доступное место:1.4. Переводим телефон во Flash-режим по зажатию кнопок "*", "#", "Красная трубка" когда он выключен и в таком состоянии подключаем телефон к компьютеру или к виртуальной машине. Аккумулятор должен быть заряжен, желательно полностью.
1.5. Запускаем прошивальщик RSD Lite v3.8 и прошиваем в телефон патченную прошивку:
- FW_L2_L6_V19x_R3511_47R_NoRSA_NoLock_L4c.shx -- Для Motorola SLVR L2, L6, V19x.
- FW_V235_R3512_6CR_B_NoRSA_NoLock_EXL.shx -- Для Motorola V235.
- 01C3_0001.seem
- 01C4_0001.seem
- 015C_0001.seem
- 015D_0001.seem
Лично мне удобно проливать подобные SEEM'ы с помощью программы P2K Tools VS.
1.7. Перезагружаем телефон. Теперь, если он снова попросит ввести Subsidy Password, забиваем "00000000" (все ноли) в поле ввода и радуемся разлоченному телефончику.
2. Подробная видеоинструкция на YouTube
Если вышеописанная инструкция показалась для вас сложной, я подготовил видео на YouTube с описанием всех шагов:
[video]https://www.youtube.com/watch?v=wWGjU3Kv7Dw[/video]
3. Как случайно не залочить телефон экспериментируя с прошивками?
Механизм установки SIM-Lock располагается в самом коде прошивки (CG1), но триггеры которые его активируют находятся во флексе (CG2) в файлах и SEEM-ячейках. К примеру, файлы "/a/mobile/system/generic_pds_init" и "/a/mobile/system/secure_pds_init" при первом включении телефона после прошивки перезаписывают некоторые ячейки в PDS и могут установить SIM-Lock.
Издавна существовал способ работающий по следующему принципу: перед любой прошивкой проливаем в телефон особый флекс, который сбрасывает пароль SIM-Lock на "00000000" и лочит эти SEEM'ы, после чего шьём подозрительную прошивку. Если в ней имеется SIM-Lock, то прошивка его установит, но не сможет изменить сброшенный пароль. Поэтому если запросит код, то просто вводим нолики и радуемся разблокированному телефону.Пролить перед прошивкой этот HS-файлик можно с помощью программ RSD Lite или Multi Flash Flex Tool в обычном P2K-режиме. Помните, что этот способ может обезопасить вас только перед проливкой лочёной прошивки, но уже не после того как вы её прошили без этого защитного метода.
4. Описание метода снятия SIM-Lock
Motorola решила обезопасить операторов сотовой связи, которые устанавливали подобные SIM-Lock'и и залочила возможность записывать в P2K-режиме через USB-шнурок некоторые SEEM'ы из PDS как раз для того, чтобы люди не могли переписать эти ячейки и избавиться от SIM-Lock'а. Но если пропатчить прошивку патчем где убрана проверка определённых SEEM-ячеек, которые заливаются по кабелю, то можно будет перезаписать их любой P2K-программой. К примеру, занулить их и навсегда забыть про SIM-Lock.
В любой P2K-прошивке имеется специальная таблица, которая регламентирует возможность или невозможность записи определённых PDS-ячеек в режиме P2K. Именно эту таблицу и требуется запатчить таким образом, чтобы SEEM'ы под номерами 01C3 (SEEM_GLOBAL_FEATURE_PROTECTED_STATE_NVM), 01C4 (SEEM_GLOBAL_FEATURE_PROTECTED_STATE_DEFAULT_NVM), 015C (SEEM_SUBSIDY_LOCK_GSM_SSCP), 015D (SEEM_SUBSIDY_LOCK_GSM_NWSCP) где хранится информация о залоченных SEEM-ячейках и SIM-Lock'е могли быть перезаписаны.
Таблица имеет следующий вид и структуру (схематично, в псевдокоде):
Код
{
SEEM_SUBSIDY_LOCK_GSM_SSCP, READ_WRITE_NOT_ALLOWED,
SEEM_SUBSIDY_LOCK_GSM_NWSCP, READ_WRITE_NOT_ALLOWED,
SEEM_GLOBAL_FEATURE_PROTECTED_STATE_NVM, READ_WRITE_NOT_ALLOWED,
SEEM_GLOBAL_FEATURE_PROTECTED_STATE_DEFAULT_NVM, READ_WRITE_NOT_ALLOWED,
SEEM_BT_ADDR, READ_WRITE_ALLOWED,
SEEM_SERVICE_PASSWORD, READ_WRITE_ALLOWED,
...
}
SEEM_SUBSIDY_LOCK_GSM_SSCP, READ_WRITE_NOT_ALLOWED,
SEEM_SUBSIDY_LOCK_GSM_NWSCP, READ_WRITE_NOT_ALLOWED,
SEEM_GLOBAL_FEATURE_PROTECTED_STATE_NVM, READ_WRITE_NOT_ALLOWED,
SEEM_GLOBAL_FEATURE_PROTECTED_STATE_DEFAULT_NVM, READ_WRITE_NOT_ALLOWED,
SEEM_BT_ADDR, READ_WRITE_ALLOWED,
SEEM_SERVICE_PASSWORD, READ_WRITE_ALLOWED,
...
}
В бинарном представлении она выглядит так и ищется в CG1 по паттерну "00 00 00 00 00 00 00 00 01 5D 00 00 XX XX XX XX", где XX -- произвольный байт данных:
В таблице идёт сначала адрес ячейки (выделен синим), а потом уже идёт информация о том, возможно ли перезаписать её в P2K-режиме (отмечена красным).
Первая проблема вылезает в попытках переноса патча с одной прошивки на другую и состоит в том, что значения отмеченные красным менялись от прошивки к прошивке при их компиляции ещё на заводах Motorola и нельзя сказать, к примеру, что значение "10 0C FA F5" на другой прошивке соответствует утверждению "READ_WRITE_NOT_ALLOWED". Оно будет справедливо лишь для текущей прошивки.
Вторая проблема вытекает из первой: какому именно значению в HEX будет соответствовать утверждение "READ_WRITE_ALLOWED" пока неизвестно. Или же известно?
На самом деле нужно лишь немного изучить бинарное представление таблицы и обратить внимание на SEEM-ячейки 0004 (UNKNOWN), 00AB (BT_ADDR), 01BB (SERVICE_PASSWORD) и другие, запись которых в P2K-режиме разрешена. А это значит что если перенести следующие за ними HEX-значения на нужные SEEM'ы, то они тоже станут доступны для записи! В примере с изображения выше значение "10 0C FC 1B" вставленное после SEEM'ов 01C3, 01C4, 015C, 015D уберёт эту защиту.
Именно это и происходит в патченной прошивке. После отключения этой защиты дальше просто дело техники -- занулить существующие значения в этих четырёх PDS-ячейках и телефон будет разблокирован!
Стоит заметить, что этот метод многоразовый, то есть вы можете много раз лочить телефон и снова убирать SIM-Lock этим способом. Но самое крутое в нём то, что этот метод разлочки должен быть максимально кроссплатформенным и работать на всех мобильных телефонах где используется программная платформа P2K независимо от того на каком железе (LCA, ULS, LTE, LTE2, Rainbow POG, Patriot, Agron и др.) они базируются. Единственным, но самым важным условием является возможность обхода RSA на конкретном телефоне или платформе и прямые руки для подготовки необходимой патч-прошивки по методике выше. К сожалению с новыми и некоторыми редкими P2K-телефонами на которых не обошли RSA скорее всего подобное не провернуть, но абсолютно все старые LTE и LTE2 телефоны похоже что могут быть разлочены без надобности выполнения процедуры TestPoint.
5. Авторы
- Vilko и команда MotoFan.Ru: методики обхода RSA и BlowFish на различных телефонах.
- L4c: автор данного метода программной разлочки.
- EXL: портирование метода разлочки на Motorola V235 и Neptune LTE2.
- Indepth6: тестирование работы метода на залоченном Motorola V235.