motofan logo
       
> 

Расшифровка прошивки Mpx220, Дизассемблирование

Payback
сообщение 19.12.2006, 12:45


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

Группа: Пользователи
Сообщений: 75
Регистрация: 11.12.2006
Пользователь №: 110 984
Модель телефона: IPhone 3GS

Рейтинг: 19



Уважаемые форумчане.
Как всем уже наверное известно, прошивки, поставляемые для mpx220 в каком-то странном зашифрованном формате, что и является камнем преткновения при создании прошивы для mpx220 с WinMobile2005.

Перед началом перепрошивки телефона, Motorola Mobile Upgrade Wizard переконвертирует прошивку в нормальный вид, о чем свидетельствует строка: Converting Upgraded Firmware... Казалось бы, что для расшифровки потребуется дизассемблировать всю программу, но НЕТ!!!
Программа использует COM-компоненты, которые хранятся в отдельных dll-файлах, и которые можно использовать в своей программе.
При беглом взгляде я понял, что для переконвертации прошивки используется файл DownloadCmp.dll, который реализует класс: DlAlgorithm Class.

Вот что я выдрал из этого файла:
HKCR
{
DownloadCmp.DlAlgorithm.1 = s 'DlAlgorithm Class'
{
CLSID = s '{3E4D2B26-0103-412C-92E7-34B1D2FA5CFB}'
}
DownloadCmp.DlAlgorithm = s 'DlAlgorithm Class'
{
CLSID = s '{3E4D2B26-0103-412C-92E7-34B1D2FA5CFB}'
CurVer = s 'DownloadCmp.DlAlgorithm.1'
}
NoRemove CLSID
{
ForceRemove {3E4D2B26-0103-412C-92E7-34B1D2FA5CFB} = s 'DlAlgorithm Class'
{
ProgID = s 'DownloadCmp.DlAlgorithm.1'
VersionIndependentProgID = s 'DownloadCmp.DlAlgorithm'
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s '{497735A4-505A-4FDC-A9DD-E58D7038CAAC}'
}
}
}


Какой-то из интерфейсов содержит метод PreConvertFile.
Вообщем ничего необычного, простой COM-компонент, скомпилированный в Visual C++.

Я не очень силен в COM-технологии, поэтому обращаюсь к вам, форумчане. Может быть есть тут эксперт по COM, который вытащит названия интерфейсов, методов и свойств (а еще лучше и передаваемые параметры) из данного COM-компонента.
После этого можно будет написать свой конвертер прошивок и тд.
Может есть какой нибудь хороший отладчик-дизассемблер для COM-компонентов?
Прикрепленный файл DownloadCmp.rar   ( 71.24 килобайт ) Кол-во скачиваний: 101
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fox_in
сообщение 19.12.2006, 14:33


Гуру
******

Группа: Почётные мотофаны
Сообщений: 864
Регистрация: 24.11.2006
Пользователь №: 108 037
Модель телефона: MPx220
Прошивка: 1.49en Sandisk 2GB

Рейтинг: 84



To Payback,
тебе нужно редактировать прошивку, подготовить ее к заливке и залить ее на телефон?? Идешь на wce.by, поиск в руки. Там есть тема "Редактирование прошивки (курс молодого бойца)". Все, что нужно, чтобы вытащить файлы, положить в прошивку свои и т.д.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
..Strik3r..
сообщение 19.12.2006, 18:28


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

Группа: Пользователи
Сообщений: 529
Регистрация: 6.2.2006
Пользователь №: 69 186
Модель телефона: [MPx200]
Прошивка: WM5 [Rv1]

Рейтинг: 90.5



Fox_in, в этой теме описаны методы подходящие для МРХ200.

Payback, прошивки МРх220 защищенны RSA ключем.. С которым так долго боролись у Р2К Моторов :) кароч ищи на wce.by там есть тема про 220.. Которую основал вроде бы господин silix
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Payback
сообщение 22.12.2006, 18:29


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

Группа: Пользователи
Сообщений: 75
Регистрация: 11.12.2006
Пользователь №: 110 984
Модель телефона: IPhone 3GS

Рейтинг: 19



Цитата(..Strik3r.. @ Вторник, 19 Декабря 2006, 22:28)
Payback, прошивки МРх220 защищенны RSA ключем.. С которым так долго боролись у Р2К Моторов :) кароч ищи на wce.by там есть тема про 220.. Которую основал вроде бы господин silix
*




Да действительно есть. Хорошая тема. Silix написал декодирующую прогу, но только жаль что он так и забросил этот проект не завершив начатое. Хоть исходники бы оставил. Ну да ладно.
Если говорить об защите RSA-ключом, то это скорее не защита, а метод шифрования. Ключ для декодирования есть, но нет ключа для шифрования, Т.е. расшифровать можно, а пересобрать и зашифровать обратно нельзя.
Тут я вижу только 1 метод, изучить процесс прошивания и написать свой прошивальщик, который будет заливать не зашифрованные прошивки.
Я пытался перехватить данные на usb-шине при прошивке. Перехватил конечно же довольно успешно. Могу сказать одно - прошивание идет без AT-комманд. То бишь используются какие-то свои двоичные коды.
Выложить лог не могу, т.к. он весит 20 метров, но все желающие могут сами перехватить процесс прошивки при помощи программы BusHound (Прилагаю в аттаче).

Хочу добавить, что по логу я так и не понял, как запускается FlashLoader.
Судя по логу он включается след. образом:
DO-Данные посылаемые в телефон
DI-Данные которые пришли с телефона

уст-во|Направление передачи|Данные(HEX) |Данные в ASCII|Промежуток времени

26.0 DO 00 4b 00 00 01 00 08 .K..... 10.1.0
26.0 DI 00 4b 00 00 01 00 08 .K..... 11.1.0
26.0 DO 00 4b 00 00 00 00 08 .K..... 12.1.0
26.0 DI 00 4b 00 00 00 00 08 .K..... 13.1.0
26.2 DI 3e 69 >i 14.1.0
26.3 DO 3c 69 <i 15.1.0
26.3 DO 3c 70 00 09 00 04 22 00 <p....". 16.1.0
00 00 00 ... 16.1.8
26.2 DI 3e 70 00 04 >p.. 17.1.0
26.0 DI 00 4b 00 00 00 00 08 .K..... 18.1.0(2)
26.0 DO 80 25 00 00 00 00 08 .%..... 20.1.0
26.0 DI 80 25 00 00 00 00 08 .%..... 21.1.0
26.0 DO 80 25 00 00 01 00 08 .%..... 22.1.0
26.0 DI 80 25 00 00 01 00 08 .%..... 23.1.0(7)
26.0 DO 00 c2 01 00 01 00 08 ....... 30.1.0
26.0 DI 00 c2 01 00 01 00 08 ....... 31.1.0
26.0 DO 00 c2 01 00 00 00 08 ....... 32.1.0
26.0 DI 00 c2 01 00 00 00 08 ....... 33.1.0


После чего начинается заливка:

26.3 DO 3c 77 01 03 01 00 00 82 <w...... 34.1.0
00 00 00 0e ea 00 3d 51 ......=Q 34.1.8
ea 00 3d 55 ea 00 3d 59 ..=U..=Y 34.1.16
ea 00 3d 5d ea 00 ff fe ..=].... 34.1.24
ea ff 3d 60 ea 00 3d 5a ..=`..=Z 34.1.32
ea 00 00 00 00 00 00 00 ........ 34.1.40
00 00 00 00 00 00 00 00 ........ 34.1.48
00 00 00 00 00 00 00 00 ........ 34.1.56
00 00 00 00 00 00 00 00 ........ 34.1.64
00 00 00 05 eb 00 49 cf ......I. 34.1.72
eb 00 3d 13 eb 00 10 94 ..=..... 34.1.80
e5 9f 4e 13 eb 00 4e 11 ..N...N. 34.1.88
ea 00 ff fe ea ff d0 7c ........ 34.1.96
e5 9f 00 7c e5 9f d0 00 ........ 34.1.104
e0 8d 00 00 e1 0f 10 1f ........ 34.1.112
e3 c0 20 11 e3 81 f0 02 .. ..... 34.1.120
e1 29 d0 54 e5 9f 20 12 .).T.. . 34.1.128
e3 81 f0 02 e1 29 d0 44 .....).D 34.1.136
e5 9f 20 17 e3 81 f0 02 .. ..... 34.1.144
e1 29 d0 40 e5 9f 20 1b .).@.. . 34.1.152
e3 81 f0 02 e1 29 d0 38 .....).8 34.1.160
e5 9f f0 00 e1 29 f0 0e .....).. 34.1.168
e1 a0 00 00 e1 0f 00 40 .......@ 34.1.176
e3 80 00 80 e3 80 f0 00 ........ 34.1.184
e1 29 f0 0e e1 a0 00 00 .)...... 34.1.192
e1 0f 00 40 e3 c0 00 80 ...@.... 34.1.200
e3 c0 f0 00 e1 29 f0 0e .....).. 34.1.208
e1 a0 18 00 11 02 1a 00 ........ 34.1.216
11 02 1c 00 11 02 20 00 ...... . 34.1.224
11 02 c0 00 11 01 40 00 ......@. 34.1.232
00 00 00 01 00 00 40 10 ......@. 34.1.240
e9 2d d0 20 e2 4d 01 75 .-. .M.u 34.1.248
eb 00 01 97 eb 00 23 87 ......#. 34.1.256
eb 00 .. 34.1.264
26.3 DO 3c 77 02 03 01 00 00 82 <w...... 35.1.0
01 00 39 2b eb 00 39 3d ..9+..9= 35.1.8
eb 00 c0 01 e3 a0 0c f0 ........ 35.1.16
e5 9f c0 00 e5 c0 15 8d ........ 35.1.24
eb 00 0e 7a eb 00 c0 fd ...z.... 35.1.32
e3 a0 c0 00 e5 cd 00 01 ........ 35.1.40
e2 8d 10 02 e2 8d 09 33 .......3 35.1.48
eb 00 c0 02 e5 dd 0c cc ........ 35.1.56
e5 9f c0 00 e5 c0 c0 02 ........ 35.1.64
e5 dd ca 0c e1 a0 c0 10 ........ 35.1.72
e5 8d c0 02 e5 dd c3 0c ........ 35.1.80
e1 a0 c0 14 e5 8d 02 68 .......h 35.1.88
eb 00 00 00 e5 dd 10 01 ........ 35.1.96
e5 dd 20 02 e5 dd 07 55 .. ....U 35.1.104
eb 00 02 9a eb 00 02 8c ........ 35.1.112
eb 00 00 03 e5 cd c0 03 ........ 35.1.120
e5 dd 00 03 e3 5c ff f9 .....\.. 35.1.128
0a ff 40 00 e3 a0 40 04 ..@...@. 35.1.136
e5 cd 09 01 e3 a0 c2 01 ........ 35.1.144
e2 80 1c 74 e5 9f c0 00 ...t.... 35.1.152
e5 81 02 01 e2 80 cc 6c .......l 35.1.160
e5 9f 00 00 e5 8c cc 68 .......h 35.1.168
e5 9f 40 b0 e1 cc cc 64 ..@....d 35.1.176
e5 9f 40 00 e5 cc cc 60 ..@....` 35.1.184
e5 9f 40 00 e5 cc c0 04 ..@..... 35.1.192
e1 a0 0c 58 e5 9f c0 00 ...X.... 35.1.200
e5 c0 01 25 ea 00 00 03 ...%.... 35.1.208
e5 dd 10 18 e2 8d 08 03 ........ 35.1.216
eb 00 00 01 e3 50 00 1d .....P.. 35.1.224
1a 00 00 08 e2 8d 10 18 ........ 35.1.232
e2 8d 20 04 e3 a0 4b 63 .. ...Kc 35.1.240
eb 00 00 0c e2 8d 10 1c ........ 35.1.248
e2 8d 20 04 e3 a0 4b 5f .. ...K_ 35.1.256
eb 00 .. 35.1.264

Но послав вручную эти комманды, FlashLoader так и не загрузился.
Думаю что надо перехватывать данные не на USB-шине, а данные, передаваемые непосредственно на драйвер модема Smartphone 2002 Wireless USB Modem.
Может кто знает, какой прогой можно перехватить данные, поступающие на USB-модем?
Прикрепленный файл bh500.rar   ( 594.17 килобайт ) Кол-во скачиваний: 103
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
..Strik3r..
сообщение 22.12.2006, 19:46


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

Группа: Пользователи
Сообщений: 529
Регистрация: 6.2.2006
Пользователь №: 69 186
Модель телефона: [MPx200]
Прошивка: WM5 [Rv1]

Рейтинг: 90.5



Цитата(Payback @ Пятница, 22 Декабря 2006, 23:29)
Silix написал декодирующую прогу, но только жаль что он так и забросил этот проект не завершив начатое. Хоть исходники бы оставил
*


Ну так обратись к нему. Думаю что даст исходники
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Payback
сообщение 22.12.2006, 20:00


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

Группа: Пользователи
Сообщений: 75
Регистрация: 11.12.2006
Пользователь №: 110 984
Модель телефона: IPhone 3GS

Рейтинг: 19



Цитата(..Strik3r.. @ Пятница, 22 Декабря 2006, 23:46)
Ну так обратись к нему. Думаю что даст исходники
*



Обратиться конечно можно. Но не думаю что у него они остались. Он давно эту прогу писал.
Хотя сейчас это не так важно. Я пытаюсь понять как работает FlashLoader. Во-первых как он запускается?
Во-вторых как он принимает данные для прошивания.
Если разобраться с этим - можно написать свой прошивальщик, который будет прошивать прошивы, незакодированные RSA.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Расшифровка прошивки Mpx220, Дизассемблирование · Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400 · Forum
 

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

 



Текстовая версия Сейчас: 29.7.2025, 18:53

Форум живёт: