eXTracted INternals

eXTracted INternals
 
ФорумФорум  ЧаВоЧаВо  ПоискПоиск  РегистрацияРегистрация  ПользователиПользователи  ГруппыГруппы  Вход  

Поделиться | 
 

 Прошивки мобильных телефонов на ARM процессорах

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Прошивки мобильных телефонов на ARM процессорах   Ср 12 Июл - 13:48

Пересмотрев кучу сервисных мануалов и прошивок хочу теперь описать все причуды которые касаются анализа прошивок, и прошивания мобильных телефонов.

Разнообразие форматов прошивок и всевозможных псевдосервисных программ просто таки сбивает с толку человека, который даже просто решил начать анализ каких-нибудь телефонов другой фирмы. Буду рассматривать только современные телефоны и не беру в счет ODM модели.

Итак форматы прошивок, их всего два: Бинарники и S-Record.

Бинарники - это данные прошивки которые заливаются в телефон без каких либо изменений. То есть как мы их видим в бинарнике, так они и будут выглядеть после дампа прошивки. Этот формат применяется в тех случаях когда прошивка монолитная, т.е. ее заливают начиная с какого-то адреса сплошняком, от начала до конца файла. Расширения у файлов таких прошивок может быть какое угодно: bin, cla, arm, sw, bif, ogm и т.д.

S-Record - это формат в котором данные прошивки привязаны к определенным адресам. В прошивках S-record каждая строка содержит адрес куда нужно записать блок данных, его длину и сами данные. S-record это текстовый формат, т.е. в таких файлах прошивка записана в виде текста. Прошивки s-record как минимум в три раза больше чем те данные, которые они в себе несут. Описание формата S-record можно найти к примеру вот http://www.amelek.gda.pl/avr/uisp/srecord.htm.
S-record бывает в формате Intel (Little Endian) и Motorola (BigEndian), причем определить Endian часто можно только после конвертации в бинарник Smile Endian в s-record никак не связан с Endian кода прошивки. Обычно прошивки идут в виде Intel S-record (Samsung поколение Agere, Motorola поколение P2k), но иногда встречаются и Motorola S-record (LG на процах Neptune).
Расширения файлов опять же радуют многообразием: s3, m0, shx, s0, s19, mot и т.д.

Некоторые производители делят прошивку на несколько бинарников, которые потом заливаются отдельно. Делается это для того чтобы отделить код, ресурсы, калибровочные данные, пользовательские данные, языковые ресурсы и файловая система. Особенно в таком дележе преуспели Nokia и Motorola. Есть еще такое понятие как Full Flash - это полный дамп флэш памяти (обычно только NOR).

Теперь пойдем по фирмам.

Samsung
Будет первым, ибо для меня он был первым Smile У самсунга все просто на текущий момент существует два поколения: Agere и Sysol.
Agere - на процах Trident, Sysol - на процах фирмы Philips.
Прошивки для Agere монолитные, идут в формате s-record, обычное расширение s3 или s0.
Прошивки для Sysol состоят из 2-х бинарников: bin - код + данные + пользовательские данные + калибровочные данные, tfs - файловая система. Некоторые старые Sysol'ы состоят из 2-х бинарников с расширением ogm. Один из них - код, второй - ресурсы.
Все прошивки грузятся с адреса 0. Карта памяти зависит от модели. Но общие черты в том что при старте копируются блоки памяти с кодом ОС в SRAM. Поэтому приначальном анализе можно прогнать прошивку в Trace32 чтобы найти эти самые копирования. А так карта памяти проста сразу, по окончании NOR, начинаются адреса RAM, а за ними порты доступа к NAND. Флэшеры обычну идут вместе с прошивкой. Обычно называются: ИМЯ_МОДЕЛИ Downloader.

Siemens
Официальные прошивки идут в виде exe-файла флэшера в который встроена закриптованая прошивка. Как говорят зашифровано RSA. Формат в котором записана прошивка похож на s-record (т.е. записан адрес куда данный кусок надо записывать), но к сожалению прошивку расшифровывает сам телефон. Поэтому все пользуются фулфлэшами, т.е. бинарниками. Как ни странно, но цикл работы с прошивками такой: заливаешь официальную, дапишь фул флэш, патчишь и заливаешь фул флэш Smile
Фулфлэши естественно монолитные, загружаются на адрес A0000000.

Nokia
Прошивки поколений DCT-4, DCTL и WD2 состоят из 4-х частей:
1) MCU - бинарник с кодом. опять же зашифровано.
2) PMM - языковые ресурсы
3) CNT - Content Pack т.е. графика + мелодии. Я так догадываюсь что это файловая система.
4) PM - Permanent memory - бывший EEPROM. Тут лежат пользовательские настройки, телефонная книга, календарь и т.д. у DCTL оно называется WUG.

Официальные прошивки идут только для программы Nokia Phoenix. Обычно содержат бинраник прошивки и кучу вариантов PMM и CNT. После инсталяции файлы ложатся в каталог C:\Program Files\Nokia\Phoenix\Products\Имя_модели. Для 3510i это будет вот так:
C:\Program Files\Nokia\Phoenix\Products\rh-9\. Файл кода(т.е. MCU) можно найти только размеру, он самый большой среди всех. Имена у файлов абсолютно ничего не говорят кроме номера версии. Так что стоит позаглядывать во внутрь чтобы понять что это. Файлы CNT содержат уникодовую строку "Content Package pc". В PMM есть в начале строка "PPM.V ".
Что лежит по каким адресам неизвестно.


Sony Ericsson
Эриксонов у нас два поколения: старые, которые на процессоре Martha3D и новые - на DB201x. У старых прошивки состоят из трех бинарников:
1) bih - прошивка ARM процессора, ее почему-то называют modem.
2) bis - прошивка AVR процессора. Называют ее MCU. Видать AVR проц больше работы делает чем ARM, раз прошивка AVR считается MCU
3) big - файловая система. Называется GDFS.

А у новых эриксонов делится на два бинарника: SW - бинарник с кодом, ресурсами, языковыми ресурсами и т.д. и LFS - файловая система.
Официальный флэшер: неизвестен, в мануалах пишут какую-то EMMA 2.

LG
Тоже два поколения: на процессорах AD652x (aka Samson, Hercules, Hermes)от Analog devices и мотороловских Hercrom (aka Calypso). В мобилах на Calypso прошивки идут в формате Motorola S-record, так что не удивляйтесь если получите билиберду при конвертации в бинарни, надо потом еще развернуть данные по-word'но. Расширения обычно m0 или mot.
В поколении AD652x прошивки состоят из двух .mot файлов(s-record). Один - код прошивки, второй - данные. А для Hercrom'ов монолитные, там один файл с расширением .m0
Официальные флэшеры: FLUID и Floader.

Motorola
Прошивки к P2K идут в формате Intel S-record. Обычное расширение shx. Но эти shx весьма интересно сделаны. shx состоят из какого-то заловка "P2K Superfile", а дальше в нем идут слепленые подряд 7 файлов S-record. Создается впечатление что умельцы в мотороле либо не догадываются о том, что файлы можно скрепить в один, либо у них все части разрабатываются отдельно и им влом мержировать. То есть сначала надо убрать заголовок, а потом выдрать оттуда все 7 файлов и затем конвертировать их в бинарники по-отдельности.
Карта памяти для p2k примерно вот такая:
3FD0000 - Boot Loader.
10D00000 - Графика
10080000 - Код прошивки
11140000 - Файловая система
Для чего нужны остальные три части по адресам: 10040000, 10F40000, 11FE0000 - не знаю.
Официальный флэшер: Motorola PST.

Остальные
У Philips все также как у Samsung(хотя поидее надо писать наоборот). У Pantech, Panasonic и Sharp так же как у LG. Enol делают на процах Skyworks, поэтому тут все также как в Samsung C100, к тому же карта памяти у них прям в сервисных мануалах прописана.

Как люди зарабатывают деньги
Программы для прошивки
Особенно приуспела в этом программа Motorola service software (MSSW) aka Victor. Они переделывают shx в свой формат vfl и дают прошивки только тем кто купил их программу. Разлочку мобилы делают перепрошиванием, очень оригинально... Еще и прогу свою ключем защищают (кажись HASP). Для эриксонов такой программой является DIV, которую каждый раз ломает товарищ laser pirat

Боксы
По всему инету продают кучу боксов для прошивания/восстановления/разлочки телефонов: Delock, UFS, Red Box, Terminator, Unibox, Griffin, Twister и т.д. Обычно в комплекте идет эдакая коробочка, которая подключается на USB или LPT, набор кабелей и софт. Стоит обычно примерно 250$. Как тут и что в реальности: коробочка в себе просто содержит переходник USB -> COM или LPT -> COM и ничего более, ну иногда еще в нее USB разветвитель добавляют(UFS Tornado) и JTAG (MultiBox). Люди которые делают такие боксы обычно напрямую связаны с сервисными центрами, т.е. они просто берут сниферят сервисные программы и объединяют все в одну программу, которая работает через их бокс.


Последний раз редактировалось: (Пн 5 Мар - 1:02), всего редактировалось 1 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пн 5 Мар - 0:53

Дополнительная информация о SHX-формате прошивок моторол тут:
http://wiki.howardforums.com/index.php/SHX_File_Modding_Guide
Вернуться к началу Перейти вниз
Посмотреть профиль
Yokel



Количество сообщений : 1
Дата регистрации : 2008-07-26

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 26 Июл - 8:56

Hex пишет:

Боксы
По всему инету продают кучу боксов для прошивания/восстановления/разлочки телефонов: Delock, UFS, Red Box, Terminator, Unibox, Griffin, Twister и т.д. Обычно в комплекте идет эдакая коробочка, которая подключается на USB или LPT, набор кабелей и софт. Стоит обычно примерно 250$. Как тут и что в реальности: коробочка в себе просто содержит переходник USB -> COM или LPT -> COM и ничего более, ну иногда еще в нее USB разветвитель добавляют(UFS Tornado) и JTAG (MultiBox). Люди которые делают такие боксы обычно напрямую связаны с сервисными центрами, т.е. они просто берут сниферят сервисные программы и объединяют все в одну программу, которая работает через их бокс.

Ты хочешь сказать что в боксах нет не каких загрузчиков и всего прочего, и что это просто набор кабелей?
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 26 Июл - 13:16

Почти да. В лучшем случае, коробка делает всякие финты с напряжением или переключает контакты. Для этого там и ставится микроконтроллер(естесвенно у этого микроконтроллера есть прошивка), чтобы по команде от компа переключиться в правильный режим. Еще этот же микроконтроллер юзают как донгл - т.е. в нем хранят инфу о триале и т.п.
Но особенного божественного смысла в них нет. Все, что происходит после того как настроили апаратное соединение, - все слизывается из официальных сервисных программ. Это можно делать и через соотвествующие кабеля без бокса.
Вернуться к началу Перейти вниз
Посмотреть профиль
neonix



Количество сообщений : 39
Дата регистрации : 2008-08-01

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пт 1 Авг - 8:27

Немножко подбавлю информации на тему OMAP, так как на их процы почти ничего нету, нашлася одна дока по их процу OMAP 850, правда не полная, думаю многим будет полезно почитать Smile
http://rapidshare.com/files/113158466/08413_52RD_OMAP850_TRM.pdf.html
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пт 1 Авг - 8:41

Чувак Shocked это ж прям праздник какой-то cheers bounce cheers bounce cheers bounce
Вернуться к началу Перейти вниз
Посмотреть профиль
neonix



Количество сообщений : 39
Дата регистрации : 2008-08-01

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пт 1 Авг - 9:27

Эта дока неполная, у меня есть еще кое чего по omap 1510, в полном виде Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пт 1 Авг - 9:30

Ну так и что останавливает? Question
Вернуться к началу Перейти вниз
Посмотреть профиль
neonix



Количество сообщений : 39
Дата регистрации : 2008-08-01

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Пт 1 Авг - 9:44

Ну вот оно счастье, omap full trm 1510 + errata http://webfile.ru/2131299 курите Наздоровье Very Happy
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 2 Авг - 1:00

Спасибо. Это однозначно поможет исследовать девайсы на omap'ах!
Вернуться к началу Перейти вниз
Посмотреть профиль
Aquarius



Количество сообщений : 5
Дата регистрации : 2008-04-15

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Вт 5 Авг - 10:05

A по OMAP 2420 есть что-нибудь?
Вернуться к началу Перейти вниз
Посмотреть профиль http://symbiandev.cdtools.net
neonix



Количество сообщений : 39
Дата регистрации : 2008-08-01

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Вт 5 Авг - 23:14

Не нету Sad И кстати по поводу 2420 , думаю стоит покапать сорцы бутлоадера для linux от Ti, я там много интересного видел....
Вернуться к началу Перейти вниз
Посмотреть профиль
Getorix

avatar

Количество сообщений : 4
Дата регистрации : 2009-01-03

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 3 Янв - 2:28

Цитата :
omap full trm 1510 + errata
Может кто нить перевыложить? ссыль на вебфайле дохлая Sad
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 3 Янв - 7:14

http://depositfiles.com/files/cp8g67ypl
Вернуться к началу Перейти вниз
Посмотреть профиль
Getorix

avatar

Количество сообщений : 4
Дата регистрации : 2009-01-03

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Сб 3 Янв - 18:00

Агрооооооомное спасиба бро Smile Мож и по самсунгам типа SC32442 (который в HTC 630 сидит) че нить завалялось в анналах?
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Вс 4 Янв - 16:23

http://depositfiles.com/files/h4waqoa7j
Вернуться к началу Перейти вниз
Посмотреть профиль
Getorix

avatar

Количество сообщений : 4
Дата регистрации : 2009-01-03

СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   Вс 4 Янв - 16:43

Hex, ну ты ваще кудесник! Пасиба ышо раз Smile
P.S. Вообще говоря файл недозалился у тебя (2.9Мб вместо 6.6), но ниче, я по названию его в гугле нашел Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




СообщениеТема: Re: Прошивки мобильных телефонов на ARM процессорах   

Вернуться к началу Перейти вниз
 
Прошивки мобильных телефонов на ARM процессорах
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
eXTracted INternals :: Cтатьи :: Mobile and Embedded-
Перейти: