eXTracted INternals

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

Поделиться | 
 

 Загрузчик для дампов Symbian

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

avatar

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

СообщениеТема: Загрузчик для дампов Symbian   Чт 27 Июл - 14:40

Основной проблемой с которой сталкиваешься после того как получил дамп прошивки - это раскладывание системных файлов. Не смотря на то, что ida парсит epoc файлы в формате e32, она совсем не умеет парсить прошивку, она не понимает что в ROM все файлы вместо импорта содержат переходники напрямую в адреса импортируемой .dll и естественно сидишь себе часами и именуешь файлы, потом в них экспорты/импорты ординал за ординалом и т.д. И с каждой новой прошивкой все сначала, а если приходится переходить на на новую модель - ваще ужас.

Мне это все надоело и за несколько дней был сделан загрузчик дампов/прошивок symbian.
Брать тут:
http://extint.narod.ru/Files/symbianfw.rar Для IDA 4.8
http://extint.narod.ru/Files/symbianfw5.rar Для IDA 5.0

Как пользоваться:
скинуть symbianfw.ldr в каталог loaders

Запустить IDA и открыть ей файл дампа / прошивки. Если лоадр задетектил образ, то увидите варианты загрузки:
1) Symbian Firmware
2) Binary File

Выбираем "Symbian Firmware".

Далее IDA спросит версию OS для того, чтобы потом догрузить ids файлы из соответсвующего каталога. Вместе с IDA идет набор ids файлов к версии epoc6 т.е. symbian 6.0

Лирическое отступление
Хочется воскликнуть "Вот спасибо! Это ископаемое юзалось тока в Nokia 92xx".
Поэтому нужны еще ids файлы к symbian 7.x, 8.x, 9.x и UIQ7.
Я уже сделал ids для epoc7, epoc8 и epoc_uiq7
Взять их можно тут:
http://extint.narod.ru/Files/epoc_ids.rar

Так вот, когда IDA спросит о версии ОС нужно ей сказать:
epoc6 - для symbian 6.x
epoc7 - для symbian 7.x
epoc8 - для symbian 8.x
epoc_uiq7 - для symbian UIQ 2.x (Symbian 7.0 UIQ)

Фичи:
    Парсит хедер прошивки
    Парсит ROMFS, проставляет соответсвующие структуры файла
    находит и маркирует начало каждого из файла именем: filename_base.
    Для исполнимых файлов проставляет заголовок, импорт, экспорт, энтрипоинт
    Читает ids и именует экспорты в известных модулях!
    Именует переходники импорта


Последний раз редактировалось: (Вс 11 Ноя - 9:30), всего редактировалось 2 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Пн 31 Июл - 2:27

Пофиксил баги в именовании импортов.

do_name_anyway() не справляется с количеством повторяющихся функций, пришлось писать свою функцию, которая может именовать больше чем 100 повторений.

Пофиксил поиск стабов импорта типа 3.

Типы стабов
Тип 1
Код:

LDR    R3, =XXXXXXXX
LDR    R3, [R3]
BX      R3

Тип 2
Код:

PUSH    {R6}
LDR    R6, =XXXXXXXX
LDR    R6, [R6]
MOV    R12, R6
POP    {R6}
BX      R12

Тип 3
Код:

LDR    R12, =XXXXXXXX
LDR    PC, [R12]

Других стабов в прошивках нет

После того как начало находить и именовать все стабы, ида просто офигевает от количества информации. Сразу после старта у нее создано около 50000 функций. А во время автоанализа создается еще где-то 100000. Рекомендуется закрыть все окна кроме Disassembly (осбенно тормозят работу окна "Functions" и "Names"), а также отключить вывод stack pointer.

Загрузка модуля до момента, когда вам дадут редактировать файл занимает от 10 до 20 минут на проце AMD Septron 2600 (в зависимости от размера дампа). Автоанализ может закончиться через несколько дней Smile
У меня автоанализ дампа 9290 (17 метров) длился 19 часов Smile

Поверьте, оно того стоит!
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Вт 29 Авг - 0:23

Теперь может открывать не только нокийные дампы, но и UIQ
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Загрузчик для дампов Symbian   Вт 29 Май - 18:10

А это нормально когда загрузка дампа (Loading file into the database...) длится часов шесть ??? Shocked (и еще не завершилась)
Пытаюсь загрузить дамп с 9-ой сериес60.
Поправил проверку на начальный адрес прошивки (в WinHex изменил на F8000000), чтоб распознавалась как Symbian Firmware.
Еще у меня сомнения насчет кривости моих ids. ar2idt не понимает либы от gcce, поэтому делал так:
ar x lib.lib
nm *.o > lib.lib.txt
Потом конвертил lib.lib.txt в idt. Насколько я понял его формат такой:
Код:
Ординал Name=Не_Демангленое_Имя_Функции
В либ куча *.o типа bla_bla-1.o Если 1 - это ординал, тогда сконвертил верно.
Ну а потом собственно zipsig (схавал все мои idt-шки)
Если все таки шесть часов это слишком - где я допустил ошибку ? Neutral
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Загрузчик для дампов Symbian   Вт 29 Май - 18:15

Ах да, еще забыл сказать: еще подключил деманглер gcce (для пятой иды demangle-1132, верно ?)
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 30 Май - 1:36

Zorn пишет:
А это нормально когда загрузка дампа (Loading file into the database...) длится часов шесть ??? Shocked (и еще не завершилась)
Пытаюсь загрузить дамп с 9-ой сериес60.
Нет это какая-то херня, не более 10 минут на пне 2.8 GHz c HT и 1 Gb RAM.

Zorn пишет:

Поправил проверку на начальный адрес прошивки (в WinHex изменил на F8000000), чтоб распознавалась как Symbian Firmware.
А вот это уже загадка... Что ты там правил? Как вообще дамп делал?

Zorn пишет:

Еще у меня сомнения насчет кривости моих ids. ar2idt не понимает либы от gcce, поэтому делал так:
ar x lib.lib
nm *.o > lib.lib.txt
Потом конвертил lib.lib.txt в idt. Насколько я понял его формат такой:
Код:
Ординал Name=Не_Демангленое_Имя_Функции
В либ куча *.o типа bla_bla-1.o Если 1 - это ординал, тогда сконвертил верно.
Ну а потом собственно zipsig (схавал все мои idt-шки)
Вот можешь глянуть на мои idt и ids для epoc9:
http://extint.narod.ru/Files/epoc9_idt.rar
http://extint.narod.ru/Files/epoc9.rar

Zorn пишет:

Если все таки шесть часов это слишком - где я допустил ошибку ? Neutral
Давай лучше выложишь свой дамп, а я гляну что с ним такое.
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 30 Май - 1:40

Zorn пишет:
Ах да, еще забыл сказать: еще подключил деманглер gcce (для пятой иды demangle-1132, верно ?)
Не понял... в каком смысле подключил?
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 30 Май - 18:27

Вчера с работы приехал, было "Loading file inte database..." Laughing
Уже сам понял что херня.
Там глюк какой то был - если окно иды открыто во время загрузки сначала вылазают ошибки по части повторений (ну эт я думаю нормально), а потом все встает (хоть отменю жми - пох). Оказывается Там еще ошибка вылазает (по части имени начинающегося с цифры), если окно иды свернуто.
Цитата :
А вот это уже загадка... Что ты там правил? Как вообще дамп делал?
Дамп делал на основе твоего дампера (тока GUI прикрутил) читал
[F8000000]-[F9500000] (конечный адрес брал тут [F8000090])
Правил в твоем лоадере проверку на Symbian firmware (у тебя ж проверятся на 50000000)
Цитата :
Вот можешь глянуть на мои idt и ids для epoc9:
http://extint.narod.ru/Files/epoc9_idt.rar
http://extint.narod.ru/Files/epoc9.rar
Вроде idt такие же (своих под рукой щас нет, дома проверю)
Цитата :
Не понял... в каком смысле подключил?

Ну твой деманглер скомпилил и закинул в папку иды. Кстати, он че то гонит (Access violation) при анализе дампа.

Если нужно, могу выкинуть дамп (от N80-IE)
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Вс 11 Ноя - 9:29

Решил выложить сорцы
http://extint.narod.ru/Files/symbianfw_src.rar

Вот еще бинарь для 5.1
http://extint.narod.ru/Files/symbianfw51.rar

Что нового:
* Исправил детект дампа прошивки
+ Подержка Symbian UIQ 2.x
+ Подержка Symbian 9.x
Вернуться к началу Перейти вниз
Посмотреть профиль
intro

avatar

Количество сообщений : 34
Дата регистрации : 2007-03-23

СообщениеТема: Re: Загрузчик для дампов Symbian   Вс 11 Ноя - 13:02

спс за обновление. актуально и своевременно Exclamation
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 9 Янв - 14:55

Kwull, wl. Я вашу беседу отсоединил вот в эту тему:
http://xtin.activebb.net/forum-f3/tema-t41.htm

Потому что уже давно не про мой загрузчик Wink
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 9 Янв - 15:05

кстати давно хотел спросить по поводу загрузчика: можно ли как-то сделать так, чтобы отдельные файлы в роме были в отдельных сегментах, если бы ещё и назывались как сами файлы вообще было бы замечательно
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

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

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 9 Янв - 17:38

Я в самом начале тоже хотел так сделать, но в иде захардкожено максимальное число сегментов. В прошивке файлов гораздо больше.
Пришел к тому, что в Entrypoint's вынес все точки входа исполняемых файлов. Нажми ctrl-e если не видел ни разу.

Тут уж ничего пока лучше придумать не могу Sad
Вернуться к началу Перейти вниз
Посмотреть профиль
Александр13



Количество сообщений : 1
Дата регистрации : 2009-12-09

СообщениеТема: Re: Загрузчик для дампов Symbian   Ср 9 Дек - 10:11

А где для Windows Mobile взять загрузчик подскажите?
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




СообщениеТема: Re: Загрузчик для дампов Symbian   

Вернуться к началу Перейти вниз
 
Загрузчик для дампов Symbian
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

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