Урок - Открытие файла-прошивки IDA-ой : Патчестроение : Форум


 vodoo999:
08.11.09, 01:01
 Открытие файла прошивки программой-дизассемблером IDA - это первый шаг, необходимый для создания или портирования простых/сложных патчей для телефонов SonyEricsson.

Прежде всего мы должны скачать IDA (The Interactive Disassembler) - подойдет версия 4.9 (бесплатная) или 5.х - платная!

Первым делом мы конвертируем наш Main-файл прошивки (*.mbn) в формат *.raw с помощью этой программы - babe2raw. Просто перетащите *.mbn файл на babe2raw и программа сама создаст файл *.raw.

Устанавливаем IDA, после чего мы можем продолжать:

1. Запускаем IDA



Нажимаем на кнопку "Go" (Work on you own)


2. Далее в самой программе IDA жмем (вверху) File -> Open (Файл -> Открыть):

Выбираем наш *.raw файл прошивки (тот файл, который только что конвертировали из *.mbn)



3. В графе Processor type (тип процессора) выбираем ARM Processors: ARM710a (процессор, который по умолчанию установлен на всех СЭ) и кликаем на кнопку Set (установить):



Дальше кликаем Processor options (настройки процессора) и ставим галочку: "Disable pointer dereferencing"



Снова кликаем OK и опять жмем OK....


4. Здесь мы вводим базу и длину адреса прошивки:
-> В "ROM Start Address" и "Loading Address" вы вводим нашу базу прошивке (0x44140000 для ВСЕХ пршивок db2020)
-> В "ROM Size" и "Loading Size" - есть оригинальная величина с Шестнадцатеричным (Hex) -калькулятором добавляет к этому 100000 шестнадцатеричных, результат делает здесь, для db2020 - 0x01DC0001



Дальше жмем OK.
Когда мы увидим окно-диалог "Generating list of strings" - жмем на Cancel.


5. В меню IDA идем в Options > General... и в графе Number of opcode bytes меняем 0 на 4 и кликаем OK



6. Определяем тип данных:
В меню IDA идем в Options > Setup Data Types...
и убираем галочки напротив:
- Byte и
- 2 Word



7. Чтобы изменить вид между ARM и THUMB нажимаем на клавиатуре сочетание клавиш ALT + G и меняем значение на 1, чтобы видеть в Thumb.


Чтобы открывать и видеть код нажимаем C (начало функций в XXB5;XX любого байта)



После чего идем в меню IDA, жмем File->Save (Фай -> Сохранить) и ждем, пока сохранится...

После этого, когда мы хотим закрыть IDA - ставим галочки "Don't pack database" (не паковать датабазу) и "DON'T SAVE the database" (не сохранять датабазу) и кликаем OK.

Совет:
Только для пользователей платформы DB2020, вы можете использовать этот плагин от den_po:

ida_babeldr.rar - Теперь не нужно конвертировать прошивку в raw, не нужно выбирать вручную тип процессора и задавать адреса. © den_po


В зависимости от версии вашей IDA (4.х или 5.x) поместите файл babeldr.ldw в папку IDA/loaders перед запуском IDA, и смело переходите к шагу 4.

Важно:
Данная операция должна быть проделана со всеми файлами main-прошивки, которые вы будете использовать, в независимости от того - оригинальный ли файл FW или измененный.

Автор инструкции: © Shadow Player
Перевод на русский: vodoo999 и James_LaBrie
Оригинал инструкции: www.se-developers.ne

Примечание:
После этого идем в меню IDA, жмем File->Save и ждем...
После этого, когда вы хотите закрыть IDA - ставим галочки "Don't pack database" и "DON'T SAVE the database" и жмем OK.

лучше сохранять изменения - т.е. не ставить галочки "Don't pack database" и "DON'T SAVE the database", а просто кликать Ок. Этим самым мы сохраним изменения в датабазе, созданной IDA.

Пароль на архивы:
Для просмотра содержания пройдите регистрацию


[ Редактировано vodoo999 в 9.11.09 23:12 ]

Прикрепленный к сообщению файл:

ida_babeldr.zip ida_babeldr.zip (38.87 kb; 130 hits) Скачать файл
babe2raw.zip babe2raw.zip (3.86 kb; 71 hits) Скачать файл
Urok_3.zip Urok_3.zip (555.26 kb; 94 hits) Скачать файл

 den_po:
08.11.09, 01:18
 ща буду брюзжать

vodoo999 пишет:
Совет:
Только для пользователей платформы DB2020, вы можете использовать этот плагин от den_po:

кто придумал бред про "только для дб2020"?
в целом ничего нового, на форуме всё в той или иной мере обсуждалось не раз. плюс описана куча лишних и ненужных на мой взгляд действий.
что делаю я:
- для raw указываю тип процессора и адрес загрузки
- для mbn не указываю вообще ничего, тупо жму enter в первом диалоге

 Joker XT:
08.11.09, 09:07
 ну америкосы всё у меня из ФАКа скопировали и выдали за своё... допустим теже галочки, что снимают с байт и ворд, я их убирал для удобства

 Yoti:
08.11.09, 15:38
 Перевод крайне надо причесать. Неуместные речевые повторы, английские куски текста и общая сбивчивасть слова - не гуд.

 Joker XT:
08.11.09, 17:56
 а лучше открыть что я писал и скопировать :lol:
тоже самое будет)
кроме примечаний

 UltraShot:
08.11.09, 18:38
 кстати да, там же размер сам определяется

 DuXeN0N:
08.11.09, 20:22
 vodoo999, галочки с 1 Byte, 2 Word снимать не обязательно

 den_po:
08.11.09, 20:27
 DuXeN0N, я уже писал, что вообще дофига чего делать необязательно =)
http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=4456&post_id=150312#150312

 awg:
09.11.09, 12:28
 нечего его шлифовать, по мне тему надо бы вообще снести

 vodoo999:
09.11.09, 23:42
 awg писал:
нечего его шлифовать, по мне тему надо бы вообще снести

снести всегда успеем. Попробую на русский перевести нормально - без англицизмов и повторов. Сейчас этим и займусь - теперь вроде получше.



[ Редактировано vodoo999 в 10.11.09 01:06 ]

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4456

© 2005-2018 supertrubka.org