Открытие файла прошивки программой-дизассемблером 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 и кликаем
OK6. Определяем тип данных:
В меню
IDA идем в
Options > Setup Data Types...и убираем галочки напротив:
-
Byte и
-
2 Word7. Чтобы изменить вид между
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 ]