motofan logo
10 страниц V « < 7 8 9 10 >
Причина закрытия (Semenigor 15-03-2009):
       
> 

обход rsa на motomagx телефонах, проверено и работает на V8, E8, Z6, U9

yakk
сообщение 28.12.2008, 13:10 Закрепленное сообщение!



*****

Группа: Разработчики
Сообщений: 336
Регистрация: 6.7.2006
Из: Днепропетровск
Пользователь №: 90 408

Рейтинг: 904



Итак, мне наконец-то удалось обнаружить дыру в загрузчике motomagx телефонов, которая позволяет запустить телефон с неподписанной AP-прошивкой

Внимание: если вы собираетесь делать то что здесь описано со своим телефонам - вы делаете это на свой страх и риск.. я не отвечаю за убитые вами телефоны..

Немного теории wink.gif
Дыра обнаружилась в irom-загрузчике BP. При включении телефона бут (mbm AP-части) первым делом загружает в оперативную память bp-loader и передаёт BP команду выполнения bp-loader. irom-загрузчик BP проверяет подпись bp-loader и, если с ней всё в порядке - передает исполнение bp-loader'у. Важный момент - непосредственно перед проверкой подписи irom загрузчик BP проверяет наличие в заголовке bp-loader указателя на некоторую структуру и если этот указатель есть - разбирает эту структуру.. Эта структура, помимо заголовка, содержит набор адресов и значений; irom-загрузчик записывает в каждый из адресов (если адреса по его мнению корректные) соответствующее значение.. Таким образом есть возможность заполнить эту структуру самостоятельно и переложить на BP работу по "отпатчиванию" бута AP (бут AP в данный момент загружен в оперативку, его подпись уже проверена ранее и он ожидает ответ BP, что bp-loader прошел проверку подписи).. При этом саму структуру можно расположить за подписью и в ней же описать патч приводящий заголовок bp-loader к исходному состоянию, чтобы он нормально прошел проверку подписи..
Необходимые дополнения в bp-loader:
Размещаем за подписью bp-loader структуру следующего формата:
первые четыре байта от начала структуры - 0xB17219E9 - константа, по которой проверяется корректность структуры.
следующие четыре байта - размер структуры (должен быть кратен восьми, но не больше 256).
Дальше следует список адресов и значений (четыре байта на адрес и четыре - на значение).
В заголовке bp-loader необходимо поставить указатель на эту структуру, (четыре байта по адресу +0x14 от начала bp-loader) и указатель на этот указатель smile.gif (по адресу +0x0c от начала bp-loader).. Соответственно чтобы bp-loader прошел проверку подписи - нужно будет вернуть заголовок к изначальному виду (обычно в данных полях нули) и поэтому первыми патчами описанными в структуре - делается именно запись нулей в данные поля.. Дальше следуют патчи которые нужно применить к ап-буту..
После ряда экспериментов я получил минимальный набор патчей бута которые приводят к тому что телефон соглашается работать с неподписанной прошивкой для бутов 06.a3 (e8) и a3.cf (v8) - телефоны которые "дожили" до победы..
Патчи зависят от версии бута, при установке неправильных патчей, или правильных, но не соответствущих версии бута - получаете труп. У меня уже лежит убитый z6 - на нём пробовались ранние версии патчей, в которых я не учёл некоторых проверок в буте, у dimichxp - убитый е8. Получится ли восстановить эти телефоны - большой вопрос..
Ну, основные вещи вроде все написал, прилагаю полученные буты, которые нужно просто прошить в телефон, если версия бута Вашего телефона совпадает с одной из указанных.. Хотя даже если совпадает - подумайте лишний раз насколько Вам всё это нужно ))

если кто возьмется портировать это на другие версии бутов/телефоны - имейте в виду что нужно быть предельно внимательным и перепроверять всё что делаете, попытка скорее всего будет только одна!!!

a3.cc (z6) - проверил на своём восстановленном z6 - всё работает, только ругается на security-версии кодовых груп, если их затирать. т.е. можно просто их сохранять.. хотя я поправил в cdt требование не проверять rootfs и лэнг - лэнг пересобранный и ничем не дополненный, rootfs - не пересобирал, просто стер подпись и security-версию.. если не править cdt - валится с ошибками на проверке версий, после исправления cdt - нормально работает..

ps: патч для бута 06.2b (zn5) - пока находится в стадии тестирования, не гарантируется, что его применение приведет к обходу RSA, но будучи прошитим на телефон с соответствующей версией бута - трупов быть не должно.. (чуть инфы для интересующихся - на новых версиях патчей не делается подмены инженерности, т.е. патчатся только собственно функции проверки подписей)..
06.2b (zn5).

pps: добавил патч для бута 06.a9 (e8) - пока для тестирования, хотя в принципе я его проверил - телефон после установки патча работал с неподписанными группами. опять же следим за версиями кодовых групп и не зашиваем всё без разбору..

добавил патч для бута 06.2a (u9) - спасибо за тестирование andrey_moto.

Сообщение отредактировал yakk - 16.1.2009, 3:57
Прикрепленный файл e8___06a9.rar   ( 153.45 килобайт ) Кол-во скачиваний: 1375
Прикрепленный файл u9_062a.rar   ( 141.39 килобайт ) Кол-во скачиваний: 1225
Прикрепленный файл v8_a3cf.rar   ( 96.34 килобайт ) Кол-во скачиваний: 8097
Прикрепленный файл e8_06a3.rar   ( 153.6 килобайт ) Кол-во скачиваний: 1485
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tmp_do
сообщение 26.1.2009, 9:30


Гуру
******

Группа: Разработчики
Сообщений: 911
Регистрация: 29.8.2007
Пользователь №: 146 016
Модель телефона: HAINAN
Прошивка: hand made & custom

Рейтинг: 188



поставил патченый бут. 52 группу удалось пересобрать и впихнуть в тело, с 46 группой никак. вшивается, висит бутлого, потом телефон падает в бут с надписью бла-бла 5a,75,00,00

yakk: версию кодовой группы после пересборки восстановил? (четыре байта перед подписью) 52-я группа без версии..

Сообщение отредактировал yakk - 26.1.2009, 11:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Dimak.74
сообщение 26.1.2009, 12:06


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 19.1.2008
Из: Махачкала
Пользователь №: 160 660
Модель телефона: l7e...z3..z6
Прошивка: NoRSA-46r-wk.final

Рейтинг: 0



А на z6 можно откатиться на родной бут путем его прошивки? И где взять родной A3.CC
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tmp_do
сообщение 26.1.2009, 12:24


Гуру
******

Группа: Разработчики
Сообщений: 911
Регистрация: 29.8.2007
Пользователь №: 146 016
Модель телефона: HAINAN
Прошивка: hand made & custom

Рейтинг: 188



Цитата(tmp_do @ 26.1.2009, 12:30) *

yakk: версию кодовой группы после пересборки восстановил? (четыре байта перед подписью) 52-я группа без версии..

подробней можно про версии? какой длины подпись?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mardariy
сообщение 26.1.2009, 12:31


Гуру
******

Группа: Пользователи
Сообщений: 865
Регистрация: 21.11.2004
Пользователь №: 22 440
Модель телефона: v600,a835,e680

Рейтинг: 134.5



подпись 2048(800 HEX),перед ней 4 ячейки версия,или все это можно "отключить" в кг31,тут писали как
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
andrey_moto
сообщение 26.1.2009, 12:51


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 30.3.2008
Из: minsk
Пользователь №: 168 066
Модель телефона: bravo_wiui+Droid RAZR
Прошивка: E1®dar15


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



Рейтинг: 84



Я просто в винхексе довожу до изначального размера цг и все
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tmp_do
сообщение 26.1.2009, 13:06


Гуру
******

Группа: Разработчики
Сообщений: 911
Регистрация: 29.8.2007
Пользователь №: 146 016
Модель телефона: HAINAN
Прошивка: hand made & custom

Рейтинг: 188



Цитата(mardariy @ 26.1.2009, 15:31) *

подпись 2048(800 HEX),перед ней 4 ячейки версия,или все это можно "отключить" в кг31,тут писали как

ага, понял smile.gif
а можно в финальном патче для паблика нафиг все проверки поубирать? дописывать подпись в образ лень smile.gif

Добавлено позже (26.1.2009, 16:24):
сигнатура начала подписи это B3 00 C9 02? если да, то почему у бп (45 группа) она отличается?

yakk: bp - это другой процессор с другим порядком байтов, его прошивка подписана другим ключом и эта подпись проверяется не бутом.. прошивку бп пока поменять не выйдет, хотя это в общем-то не сильно нужно.. в патче вряд ли будут убираться все проверки - это может привести к очередным трупам, и патч может стать непереносим на другие буты, как вышло с A3.CC от z6.. если лениво каждый раз добавлять подпись - поправь cg31.. )

Добавлено позже (26.1.2009, 17:22):
где почитать про 31 группу? в топике я не вижу sad.gif

Сообщение отредактировал yakk - 26.1.2009, 14:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mardariy
сообщение 26.1.2009, 16:43


Гуру
******

Группа: Пользователи
Сообщений: 865
Регистрация: 21.11.2004
Пользователь №: 22 440
Модель телефона: v600,a835,e680

Рейтинг: 134.5




Добавлено позже (26.1.2009, 17:22):
где почитать про 31 группу? в топике я не вижу sad.gif
[/quote]

RSA на Z6
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
r.o.m.a.N
сообщение 30.1.2009, 2:35


Motoroma
********

Группа: Пользователи
Сообщений: 3 574
Регистрация: 16.8.2006
Из: Москва
Пользователь №: 95 283
Модель телефона: Е1, Moto G LTE
Прошивка: 49R 4.4.4

Рейтинг: 1026



Цитата(tmp_do @ 26.1.2009, 16:06)

где почитать про 31 группу? в топике я не вижу
*


Кому над, 31 группа для zn5 прошивка 0А с отключенными проверками CG's
Прикрепленный файл CG31_0AR.zip   ( 106.77 килобайт ) Кол-во скачиваний: 185
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Скотч
сообщение 30.1.2009, 15:23


Новичок
*

Группа: Пользователи
Сообщений: 3
Регистрация: 13.5.2006
Из: Odessa, Ukraine
Пользователь №: 83 069
Модель телефона: Z8, SE W980i, ZN5

Рейтинг: 0



Я тоже не совсем понимаю. А что это даст? Ну то есть глобально на что влияет этот RSA? Насколько я понял, что-то связанное с заливкой кастомных прошивок, но с другой стороны, для прошития 09R и 0AR он не нужен? То есть в принципе в нем пока нет необходимости?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Done
сообщение 30.1.2009, 21:52


Интересующийся
**

Группа: Пользователи
Сообщений: 44
Регистрация: 15.10.2005
Пользователь №: 54 637
Модель телефона: EM30

Рейтинг: 6



yakk,

Привет.

у мя EM30, бут 06.ac, прошивка R6716_G_71.03.04R. к сожалению не правил CG31 и в otp уже записана новая, повышенная security version. твой пачт он не проверяет rsa, но потом, после проверки rsa, он проверяет security version? это актуально для тех, кто прошивался, не зная об этомм...для меня в частностиsmile.gif
и если не трудно, можеш пропатчить наш бут? blush1.gif или объясни, если не трудно, мне, как сделать это...просто не особо в этом шарю, но желание научится есть =]

прошивка R6716_G_71.03.04R http://ifolder.ru/10302687
бут 06.ac http://ifolder.ru/10302707

yakk: ссылка на патченый бут 06.ac от em30 - http://upload.com.ua/get/900677579/.
по поводу cg31 - если эта прошивка поднимает security-версию cg31 - то нужно будет работать уже с этой версией, патч снимает только проверку RSA.. если патч будет работать - можно исправить свою cg31 чтобы упростить замену остальных кодовых групп.

Сообщение отредактировал yakk - 31.1.2009, 11:54
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
обход rsa на motomagx телефонах, проверено и работает на V8, E8, Z6, U9 · Ломаем и строим! · Forum
 

10 страниц V « < 7 8 9 10 >
Причина закрытия (Semenigor 15-03-2009):
Закрытая темаСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.4.2024, 8:50

Форум живёт: