Просмотр полной версии : Редактирование прошивки
LastDies
14.07.2010, 08:25
Подскажите, возможно декомпилировать фулл для дальнейшего редактирования?
Подскажите, возможно декомпилировать фулл для дальнейшего редактирования?
Это делается дизассемблером с большими головниками. Реально, для начинающего, бесполезное занятие.
LastDies
14.07.2010, 08:57
Может быть у кого-то есть подобный опыт и он сможет поделится?
Может быть у кого-то есть подобный опыт и он сможет поделится?
Прошивки не декомпилируются потому что написаны изначально на C-языке.
При компиляции создаётся ROM.elf, а он уже компилируется в BIN-образ для прошивки в телефон в коммандах ARM-языка конкретного процессора.
Про идею декомпиляции можно забыть, она не выполнима.
Пользуйтесь "Поиском в разделах", были темы, уже обсуждалось не раз.
вообще-то декомпиляция не зависит от того на каком языке была написана программа, и вполне выполнима.
невозможна только декомпиляция в изначальный текст исходника.
можно вообще декомпилировать только кусок кода, слегка его подправить и залить обратно (тут единственное ограничение - размер куска не должен быть больше выдранного)
LastDies
14.07.2010, 09:34
nlo_j77, Есть практический опыт или это мысли в слух?
опыт есть, но не на китайцах :)
на машинах правил прошивки, в основном на 68k процессорах
------------------------------------------------
Добавлено позже:
вообще, чтобы поправить прошивку нужно досконально знать процессор, все порты устройства, карту памяти ну и много ещё всего...
что это геморройно - правильно написано выше!
вообще-то декомпиляция не зависит от того на каком языке была написана программа
Прошивка - это не программа, это загрузочный образ ОС собранной по правилам linux.
Декомпиляция - это получение исходного текста на языке высокого уровня(С-язык) из языка низкого уровня(ARM).
Промотр BIN-пошивки в виде ARM-комманд, это не декомпиляция.
можно вообще декомпилировать только кусок кода, слегка его подправить и залить обратно
В этом и проблема, когда разберёшься в одной прошивке что за код и зачем уже появится новая версия
прошивки с изменениями в которой будет половина пересортирована в BIN-образе.
Говоря просто - это утопия, толка не будет.
Это не Samsung и не SE где более-менее стандарты придерживются в прошивках.
LastDies
14.07.2010, 09:47
Есть смысл пытатся связатся с прозводителем на счет исходников или это дохлый номер?
Прошивка - это не программа, это загрузочный образ ОС собранной по правилам linux.
Декомпиляция - это получение исходного текста на языке высокого уровня(С-язык) из языка низкого уровня(ARM).
Любой код, который чем-нибудь выполняется является программой, а декомпиляция не обязательно должна быть в язык С, перевод бинарного файла в мнемоники комманд ассемблера, то есть в удобочитаемый текст, тоже декомпиляция
Есть смысл пытатся связатся с прозводителем на счет исходников или это дохлый номер?
Исходники прошивок вам простому смертному никто не даст, насчет всего остального можно найти в интернете, потратить пару лет на доскональное изучение системы команд конкретного процессора, если учесть что процессоры меняются с периодичностью в три месяца, то как говорится к пенсии вы напишите свою первую простейшую прошивку, при условии владениями языками программирования (школьный курс не считается).
офф. анекдот в тему: половина пользователей персональных компьютеров считают себя хакерами, оставшаяся половина считают себя программистами.
перевод бинарного файла в мнемоники комманд ассемблера, то есть в удобочитаемый текст, тоже декомпиляция
Это дизассмеблинг, он мало чего даст для ARM-процов.
Устанете изучать. :)
Чтобы далеко не ходить
- прога для дизассемблинга IDA v5.6 PRO(есть поддержка ARM-процессоров)
- ARM Help Center (http://infocenter.arm.com/help/index.jsp) - описание языка и архитектуры
Это дизассмеблинг, он мало чего даст для ARM-процов.
Устанете изучать. :)
Чтобы далеко не ходить
- прога для дизассемблинга IDA v5.6 PRO(есть поддержка ARM-процессоров)
- ARM Help Center (http://infocenter.arm.com/help/index.jsp) - описание языка и архитектуры
Дизассемблировал IDA-й для ARM процессоров, но для нормального анализа нужно знать:
1. Ассемблер ARM - процессоров, а здесь есть варианты,
2. Подробную документацию на данный процессор, т.к. ARM - это только ядро, а программа обращается к внешним устройствам. Их много: дисплей, клавиатура, сим-карты, приёмо-передатчики, уст-ва питания и зарядки, FM-приёмник, USB и т.д.
3. Нужно знать протоколы обмена с этими уст-вами.
Без этого работа становится бессмысленной.
vBulletinВ®, Jelsoft Enterprises Ltd. Translate: zCarot