|
|
  |
Вытащить U boot из firmware бинарника |
|
|
|
Feb 16 2013, 13:29
|
Местный
  
Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205

|
У вас бинарник с firmware как-то сжат? Код cat firmware.bin | strings | grep U-Boot что-то выдает?
|
|
|
|
|
Feb 16 2013, 14:04
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528

|
Цитата(kurtis @ Feb 16 2013, 17:29)  У вас бинарник с firmware как-то сжат? Код cat firmware.bin | strings | grep U-Boot что-то выдает? да, он скорее всего не сжат. Выдает эту строку и другие тоже, очень похожие на логи. Как вычислить оффсеты? Точнее u boot не сжат. Я его вижу в прошивке. Вопрос именно точно определить смешение. Или это невозможно по шаблону пропарсить u boot на какие-нибудь magic, потому что идет чистый исполняемый код, который разный под архитектуры? В принципе есть устройство с прошитой флеш этим бинарником. В логе на uart выводятся разделы флеша. Сейчас не могу сказать есть он там или нет. Но можно, если есть, сдампить с флеша начало u boot и сравнить с бинарником на руках который firmware.bin. Но все равно есть ли способ универсальный?
Сообщение отредактировал Kirill_Good - Feb 16 2013, 14:16
|
|
|
|
|
Feb 16 2013, 15:48
|
Местный
  
Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205

|
Для однозначного ответа слишком много неизвестных. Есть некоторое подобие меджика у каждой архитектуры, для старта программы на arm архитектуры, в ней в самом начале должны быть вектора прерываний (7 или 8 штук, точно не помню), это можно использовать для определения начала. Если в убутовском command line есть поддержка чтения из флэшки, то можно убут сдампить в ОЗУ, а затем через консоль слить на host машину (или на карточку, или по сети, зависит от того, что есть).
|
|
|
|
|
Feb 16 2013, 15:52
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528

|
Цитата(gerber @ Feb 16 2013, 19:29)  Посмотрите самое начало дампа (нулевой оффсет) - там должна быть инструкция безусловного перехода в точку входа u-boot. в нулевом оффсете файла обновления(тут нужно мне было уточнить, что это не дамп флеша, а файл обновления я с ним работаю) вроде и лежит цель моего исследования. Там вроде как хедер вендора устройства с нужной информацией. Задача узнать где точно он заканчивается. В нулевом оффсете такая строка "SIMON HOME ENTERTAINMENT" может кому и скажет о чем нибудь. Девайс грузит по обновлению бинарник прошивки отрезает wrapper этот и шьет во флеш. я просто вижу что по признакам после заголовка вендора идет uboot в файле обновления. а где точно он начинается я не знаю.
Сообщение отредактировал Kirill_Good - Feb 16 2013, 15:49
|
|
|
|
|
Feb 16 2013, 16:11
|
Знающий
   
Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088

|
Цитата(Kirill_Good @ Feb 16 2013, 18:52)  тут нужно мне было уточнить, что это не дамп флеша, а файл обновления я с ним работаю Тогда, вероятно, никакого u-boot-a там нет вообще, поскольку сам u-boot и обновляет прошивку.
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|
|
|
|
|
Feb 16 2013, 16:16
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528

|
Цитата(gerber @ Feb 16 2013, 20:11)  Тогда, вероятно, никакого u-boot-a там нет вообще, поскольку сам u-boot и обновляет прошивку. u boot есть. обновление в основном делают через initramfs. зачем обновлять u boot это уже другой вопрос. но может и есть причины.
Сообщение отредактировал Kirill_Good - Feb 16 2013, 16:17
|
|
|
|
|
Feb 17 2013, 07:27
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528

|
Цитата(SM @ Feb 17 2013, 11:25)  Надо "разобрать на запчасти" самый начальный загрузчик, x-load, или кто там.... Который грузит этот образ, тогда будет понятно, где там убут. Или разобрать обновлялку (хотя очень странно, если эта обновлялка не скрипт в убуте). Оно скорее всего GPL, поэтому проблем быть не должно. А если не GPL, так есть IDA Pro  Вот разобрать обновлялку тоже было в мыслях. Но она скорее точно не GPL, хотя тоже может быть.
|
|
|
|
|
Feb 18 2013, 03:32
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528

|
Цитата(gerber @ Feb 17 2013, 22:47)  А можно полюбопытствовать - зачем может оказаться полезным u-boot в бинарнике, выцарапанный из прошивки устройства? Может, Ваша конечная задача решается более простым ходом. я выше уже написал про хедер вендора.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|