Вход

Просмотр полной версии : Редактирование прошивки


LastDies
14.07.2010, 08:25
Подскажите, возможно декомпилировать фулл для дальнейшего редактирования?

KVladG
14.07.2010, 08:51
Подскажите, возможно декомпилировать фулл для дальнейшего редактирования?
Это делается дизассемблером с большими головниками. Реально, для начинающего, бесполезное занятие.

LastDies
14.07.2010, 08:57
Может быть у кого-то есть подобный опыт и он сможет поделится?

WhiteE
14.07.2010, 09:06
Может быть у кого-то есть подобный опыт и он сможет поделится?
Прошивки не декомпилируются потому что написаны изначально на C-языке.
При компиляции создаётся ROM.elf, а он уже компилируется в BIN-образ для прошивки в телефон в коммандах ARM-языка конкретного процессора.

Про идею декомпиляции можно забыть, она не выполнима.

Пользуйтесь "Поиском в разделах", были темы, уже обсуждалось не раз.

nlo_j77
14.07.2010, 09:30
вообще-то декомпиляция не зависит от того на каком языке была написана программа, и вполне выполнима.
невозможна только декомпиляция в изначальный текст исходника.
можно вообще декомпилировать только кусок кода, слегка его подправить и залить обратно (тут единственное ограничение - размер куска не должен быть больше выдранного)

LastDies
14.07.2010, 09:34
nlo_j77, Есть практический опыт или это мысли в слух?

nlo_j77
14.07.2010, 09:38
опыт есть, но не на китайцах :)
на машинах правил прошивки, в основном на 68k процессорах
------------------------------------------------
Добавлено позже:
вообще, чтобы поправить прошивку нужно досконально знать процессор, все порты устройства, карту памяти ну и много ещё всего...
что это геморройно - правильно написано выше!

WhiteE
14.07.2010, 09:44
вообще-то декомпиляция не зависит от того на каком языке была написана программа
Прошивка - это не программа, это загрузочный образ ОС собранной по правилам linux.

Декомпиляция - это получение исходного текста на языке высокого уровня(С-язык) из языка низкого уровня(ARM).

Промотр BIN-пошивки в виде ARM-комманд, это не декомпиляция.

можно вообще декомпилировать только кусок кода, слегка его подправить и залить обратно
В этом и проблема, когда разберёшься в одной прошивке что за код и зачем уже появится новая версия
прошивки с изменениями в которой будет половина пересортирована в BIN-образе.

Говоря просто - это утопия, толка не будет.
Это не Samsung и не SE где более-менее стандарты придерживются в прошивках.

LastDies
14.07.2010, 09:47
Есть смысл пытатся связатся с прозводителем на счет исходников или это дохлый номер?

nlo_j77
14.07.2010, 09:55
Прошивка - это не программа, это загрузочный образ ОС собранной по правилам linux.

Декомпиляция - это получение исходного текста на языке высокого уровня(С-язык) из языка низкого уровня(ARM).



Любой код, который чем-нибудь выполняется является программой, а декомпиляция не обязательно должна быть в язык С, перевод бинарного файла в мнемоники комманд ассемблера, то есть в удобочитаемый текст, тоже декомпиляция

jblack
14.07.2010, 10:04
Есть смысл пытатся связатся с прозводителем на счет исходников или это дохлый номер?

Исходники прошивок вам простому смертному никто не даст, насчет всего остального можно найти в интернете, потратить пару лет на доскональное изучение системы команд конкретного процессора, если учесть что процессоры меняются с периодичностью в три месяца, то как говорится к пенсии вы напишите свою первую простейшую прошивку, при условии владениями языками программирования (школьный курс не считается).

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

WhiteE
14.07.2010, 10:16
перевод бинарного файла в мнемоники комманд ассемблера, то есть в удобочитаемый текст, тоже декомпиляция
Это дизассмеблинг, он мало чего даст для ARM-процов.
Устанете изучать. :)

Чтобы далеко не ходить
- прога для дизассемблинга IDA v5.6 PRO(есть поддержка ARM-процессоров)
- ARM Help Center (http://infocenter.arm.com/help/index.jsp) - описание языка и архитектуры

KVladG
14.07.2010, 11:58
Это дизассмеблинг, он мало чего даст для 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. Нужно знать протоколы обмена с этими уст-вами.
Без этого работа становится бессмысленной.