реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вытащить U boot из firmware бинарника
Kirill_Good
сообщение Feb 16 2013, 11:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



Добрый день!

Есть ли какие-нибудь опознавательные знаки у u-boot для того, чтобы вырезать точно его из firmware бинарника? Точно в плане найти где он начинается и где заканчивается. Binwalk не помог. Может и потому что не умею пользоваться или читать вывод.

Спасибо!
Go to the top of the page
 
+Quote Post
kurtis
сообщение Feb 16 2013, 13:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



У вас бинарник с firmware как-то сжат?
Код
cat firmware.bin | strings | grep U-Boot
что-то выдает?
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Feb 16 2013, 14:04
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
gerber
сообщение Feb 16 2013, 15:29
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Посмотрите самое начало дампа (нулевой оффсет) - там должна быть инструкция безусловного перехода в точку входа u-boot.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
kurtis
сообщение Feb 16 2013, 15:48
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Для однозначного ответа слишком много неизвестных.
Есть некоторое подобие меджика у каждой архитектуры, для старта программы на arm архитектуры, в ней в самом начале должны быть вектора прерываний (7 или 8 штук, точно не помню), это можно использовать для определения начала.
Если в убутовском command line есть поддержка чтения из флэшки, то можно убут сдампить в ОЗУ, а затем через консоль слить на host машину (или на карточку, или по сети, зависит от того, что есть).
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Feb 16 2013, 15:52
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
gerber
сообщение Feb 16 2013, 16:11
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(Kirill_Good @ Feb 16 2013, 18:52) *
тут нужно мне было уточнить, что это не дамп флеша, а файл обновления я с ним работаю

Тогда, вероятно, никакого u-boot-a там нет вообще, поскольку сам u-boot и обновляет прошивку.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Feb 16 2013, 16:16
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 17 2013, 07:25
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Надо "разобрать на запчасти" самый начальный загрузчик, x-load, или кто там.... Который грузит этот образ, тогда будет понятно, где там убут. Или разобрать обновлялку (хотя очень странно, если эта обновлялка не скрипт в убуте). Оно скорее всего GPL, поэтому проблем быть не должно. А если не GPL, так есть IDA Pro sm.gif
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Feb 17 2013, 07:27
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



Цитата(SM @ Feb 17 2013, 11:25) *
Надо "разобрать на запчасти" самый начальный загрузчик, x-load, или кто там.... Который грузит этот образ, тогда будет понятно, где там убут. Или разобрать обновлялку (хотя очень странно, если эта обновлялка не скрипт в убуте). Оно скорее всего GPL, поэтому проблем быть не должно. А если не GPL, так есть IDA Pro sm.gif


Вот разобрать обновлялку тоже было в мыслях. Но она скорее точно не GPL, хотя тоже может быть.
Go to the top of the page
 
+Quote Post
gerber
сообщение Feb 17 2013, 18:47
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



А можно полюбопытствовать - зачем может оказаться полезным u-boot в бинарнике, выцарапанный из прошивки устройства? Может, Ваша конечная задача решается более простым ходом.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Feb 18 2013, 03:32
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



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

я выше уже написал про хедер вендора.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016