motofan logo
10 страниц V « < 2 3 4 5 6 > » 
Причина закрытия (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 килобайт ) Кол-во скачиваний: 1381
Прикрепленный файл u9_062a.rar   ( 141.39 килобайт ) Кол-во скачиваний: 1232
Прикрепленный файл v8_a3cf.rar   ( 96.34 килобайт ) Кол-во скачиваний: 8112
Прикрепленный файл e8_06a3.rar   ( 153.6 килобайт ) Кол-во скачиваний: 1494
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
andrey_moto
сообщение 29.12.2008, 15:27


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

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


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



Рейтинг: 84



как я рад как я рад что мы едем....вперед! молодцы, что я могу больше сказать smile.gif))хорошая новость перед новым годом, хотелось бы конечно чтоб и про з6 не забыли smile.gif clap.gif clap.gif clap.gif clap.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zidane
сообщение 29.12.2008, 15:40


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

Группа: Пользователи
Сообщений: 89
Регистрация: 28.5.2007
Пользователь №: 136 304
Модель телефона: ve66

Рейтинг: 2



" e8_06a3.rar "<---просто скачать и прошить, да?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
БАZА
сообщение 29.12.2008, 19:45


Мастер
****

Группа: Пользователи
Сообщений: 179
Регистрация: 8.3.2007
Из: Заречный
Пользователь №: 125 911
Модель телефона: /Е8/V8/CLIQ
Прошивка: /Z-Mod/??/2.1

Рейтинг: 3



zidane,
Да! А оно тебе надо раз не знаешь что с этим делать? Ты разницы не почувствуешь...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DesertEagle
сообщение 30.12.2008, 9:53


Новичок
*

Группа: Начинающие
Сообщений: 2
Регистрация: 30.12.2008
Пользователь №: 189 884
Модель телефона: Moto ROKR Z6/RAZR V8
Прошивка: 141564

Рейтинг: 0



Thank you~!
I'm from Chinese~
I have some question~
This Can used to V8(512M) or V8(2G)~?


Can you make it for ROKR Z6~?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
abelenki
сообщение 30.12.2008, 10:01


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

Группа: Пользователи
Сообщений: 678
Регистрация: 7.8.2006
Из: Russia, Perm
Пользователь №: 94 097
Модель телефона: Atrix 4G
Прошивка: 2.3.6 - 4.5.2A

Рейтинг: 112



Цитата(DesertEagle @ 30.12.2008, 14:53) *

I have some question~
This Can used to V8(512M) or V8(2G)~?


it can be used on both, 512MB and 2GB models, because they use the same bootloader.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DesertEagle
сообщение 30.12.2008, 10:05


Новичок
*

Группа: Начинающие
Сообщений: 2
Регистрация: 30.12.2008
Пользователь №: 189 884
Модель телефона: Moto ROKR Z6/RAZR V8
Прошивка: 141564

Рейтинг: 0



Цитата(abelenki @ 30.12.2008, 18:01) *

it can be used on both, 512MB and 2GB models, because they use the same bootloader.



Thank you~!
But~
Can you make it for ROKR Z6?
I'm Thank you very much~!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zidane
сообщение 30.12.2008, 17:04


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

Группа: Пользователи
Сообщений: 89
Регистрация: 28.5.2007
Пользователь №: 136 304
Модель телефона: ve66

Рейтинг: 2



Цитата(БАZА @ 29.12.2008, 19:45) *

zidane,
Да! А оно тебе надо раз не знаешь что с этим делать? Ты разницы не почувствуешь...

откатиться нaдо с 1CR_A
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
hobbit19
сообщение 31.12.2008, 14:08


квант истории
******

Группа: Пользователи
Сообщений: 1 043
Регистрация: 1.4.2005
Из: Рязань
Пользователь №: 39 980
Модель телефона: (M)oTorola
Прошивка: testing/unstable
Победитель конкурса 2008

Рейтинг: 739.5



Благодаря dimichxp
сделан патч для Zn5 ( T-mobile) для бута 06.2B
Внимание не следует этот патч шить владельцам русских и китайских zn5
с бутам 06.2а. Для них патч будит позже .
P.S нужен тестер

Прикрепленный файл zn5_BOOT_06.2B_noRSA.shx.7z   ( 158.73 килобайт ) Кол-во скачиваний: 1189
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GandjaFuzz
сообщение 31.12.2008, 18:39


Motofuzzer
*****

Группа: Почётные мотофаны
Сообщений: 619
Регистрация: 12.12.2004
Пользователь №: 26 583
Модель телефона: ZN5 T-Mobile
Прошивка: 2CR_128
Победитель конкурса 2008

Рейтинг: 1080



я по поводу

3. и 4. функции проверки подписи (привожу фрагменты начала)..
Код
ROM:90016912 F3 B5 PUSH {R0,R1,R4-R7,LR}
ROM:90016914 7D 22 MOVS R2, #0x7D
ROM:90016916 85 B0 SUB SP, SP, #0x14
ROM:90016918 F0 24 MOVS R4, #0xF0
ROM:9001691A 07 46 MOV R7, R0

и
Код
ROM:90016A12 F8 B5 PUSH {R3-R7,LR}
ROM:90016A14 43 18 ADDS R3, R0, R1
ROM:90016A16 01 21 MOVS R1, #1
ROM:90016A18 4D 4A LDR R2, =0x9001C8A8
ROM:90016A1A 00 25 MOVS R5, #0
ROM:90016A1C C9 03 LSLS R1, R1, #0xF
ROM:90016A1E 8B 42 CMP R3, R1

Заменяются кодом
Код

MOVS R0, #0x1F!!!!!
LSLS R0, R0, #0x04
BX LR

меня интересует этот момент, зачем возвращать 1F0, ведь из бута в бут значение успешной проверки было F0, это начиная с первых бутов заканчивая последними.

Сообщение отредактировал GandjaFuzz - 31.12.2008, 18:42
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
yakk
сообщение 31.12.2008, 18:46



*****

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

Рейтинг: 904



Цитата(GandjaFuzz @ 31.12.2008, 20:39) *

меня интересует этот момент, зачем возвращать 1F0, ведь из бута в бут значение успешной проверки было F0, это начиная с первых бутов заканчивая последними.

угу, F0 - по-идее достаточно для всех случаев что я видел, просто хотелось быть аккуратнее sad.gif - в данном случае, аккуратнее - значит вернуть кроме F0 - и проверку инженерности, так - явно правильнее, нужно ли всегда - пока не знаю..
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
обход rsa на motomagx телефонах, проверено и работает на V8, E8, Z6, U9 · Ломаем и строим! · Forum
 

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

 



Текстовая версия Сейчас: 10.5.2024, 0:04

Форум живёт: