motofan logo
> 

Программная разлочка Motorola P2K, Software way to remove SIM-lock (Subsidy Password)!

EXL
сообщение 5.11.2022, 21:27


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 979
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4609



В свободное время я изучил интересный программный способ снятия 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 и прошиваем в телефон патченную прошивку:
  • 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.
1.6. Включаем телефон после прошивки, если он не включился автоматически и видим что SIM-Lock пока ещё остался на месте. Далее нам нужно залить несколько SEEM-файлов поочерёдно по обозначенным адресам с помощью любой программы в P2K-режиме:
  • 01C3_0001.seem
  • 01C4_0001.seem
  • 015C_0001.seem
  • 015D_0001.seem
Адреса и оффсеты по которым следует заливать 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,
   ...
}

В бинарном представлении она выглядит так и ищется в 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.
© 05-Nov-2022, специально для форума MotoFan.Ru.
Прикрепленный файл Subsidy_Lock_to_all_0.zip   ( 1.1 килобайт ) Кол-во скачиваний: 416
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
 
Ответ в темуСоздание новой темы
Ответов
EXL
сообщение 8.1.2023, 12:47


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 979
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4609



Этот способ снятия SIM-Lock был успешно проверен на древнем телефоне Motorola C550 который работает на Neptune ULS SoC, за проверку спасибо c u b e. Ранее было невозможно снять SIM-Lock на этом телефоне без процедуры Test Point.

Что интересно, опробованный способ в теории должен сработать на таких перечисленных телефонах: Motorola T280, T280i, V60, V60i, V66, V66i, V70, V70i, C350 (без L, потому что C350L использует RSA), C450, C550, A820, A830, A835, T720, T720i, T722i, T725i и Siemens U10, U15. Возможно ещё каких-то других.

Процедура снятия SIM-Lock на подобных телефонах несколько усложнена, бинарные файлы прошивки в них зашифрованы алгоритмом BlowFish, но зато там нет RSA!

Уважаемый Vilko ещё в 2004 году написал на Assembler утилиты для взлома прошивок использующих BlowFish, но эти утилиты почему-то оставались неизвестны широкой публике. А ведь с их помощью на C350, C450 и C550 можно делать кастомные патченные прошивки. Кто знает, если бы они были чуточку известны, может тогда и для "народного телефона" Motorola C350 тоже появились бы кастомные монстрпаки...

Методика снятия аналогично изложенной выше.

1. Берётся любая прошивка для C550, затем она разбирается с помощью RSD Lite или Flash&Backup 3.
2. Кодовая группа CG1 декриптуется утилитой fl_decr.EXE, затем патчится аналогично тому, как это описано в статье выше.
3. Далее пропатченная кодовая группа CG1 криптуется обратно утилитой fl_crypt.EXE.
4. Далее либо собирается SHX-прошивка с этой криптованной и пропатченной кодовой группой, либо же эта CG1 подменяется во время прошивки RSD Lite или MFFT обычной прошивки на шаге "Erase phone memory" или любом другом, следующим за "Creating Image File...".
5. Ошибки checksums после прошивки подобной прошивки игнорируются, телефон должен включиться.
6. Далее проливаются ремонтные SEEMs как это указано в статье выше.

Всё, после перезагрузки телефон разблокируется.
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме

Программная разлочка Motorola P2K, Software way to remove SIM-lock (Subsidy Password)! · Ломаем и строим! · Forum
 

Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.5.2024, 3:38

Форум живёт: