Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Реверс инжиниринг

Непрочитано 08.12.2015, 22:10  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
Злость Реверс инжиниринг

Есть прошивка для HP LJ с архитектурой Tensilica xtensa. Решил на досуге поковырять, вот так вдруг...

Чип незвестен, вернее известен, но даташита по нему нет называется 88pahe02 от marvell, я создавал тут тему, но по тому, что в ней ни одного ответа - скорее всего мы никогда не узнаем что это за проц.

Прошивка в формате elf состоит из 2х частей - первый это нанд лоадер и второй по всей видимости сама прошивка. Особо никогда не занимался реверс инжинирингом, хотя сам проф. программер и знаю всякие асмы и вообще много чего видели мои глаза.

Начал реверсить, и встал в ступор. В конкретный такой ступор.
Первый гемор Elf в формате big-endian, ну да ладно - попробывал найти дизасм, везде одна фигня..
Выяснил что у популярного чипа esp8266 та же архитектура, взял его тулчейн - оттуда objdump попытался дизассемблировать на выходе явный бред. Почитал статьи по дисассемблингу esp8266 на хабре в IDA скачал скрипт - скрипт мой файл даже и не думает разбирать.

Взял прочитал tensilica instruction set - почти понял.

взял последние binutils собрал с поддержкой xtensa, опять objdump и опять бред.
написал тестовую програмку скомпилил в big-endian и в little-endian, что примечательно секция кода не изменилась. т.е. что big что little кладут байты(и биты) одинакого - т.е. либо binutils этого не поддерживает либо лыжи не едут.

Взял родной Xplorer от Cadence - типа это у них среда такая родная, взял оттуда xt-objdump - он вообще дизасемблировать отказывается.

Вот я думаю - может там изврат какой нибудь, что нибудь типа биты в big-endian, а байты в little или наоборот

с горя начал уже думать свой дисасм писать, чтоб эти ситуации перебрать, чет зацепило меня

В общем уже неделю. Куда посоветуете смотреть? Может можно это все же чем нибудь расковырять?
PS
приложил Nand loader, т.к. он проще и меньше чем основная прошивка
Вложения:
Тип файла: zip 0002.zip (8.6 Кб, 36 просмотров)
Реклама:

Последний раз редактировалось fsmoke; 08.12.2015 в 22:13.
fsmoke вне форума  
Непрочитано 09.12.2015, 11:36  
Eddy71
Гуру портала
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Полтава
Сообщений: 10,460
Сказал спасибо: 6,005
Сказали Спасибо 26,925 раз(а) в 6,084 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Реверс инжиниринг

А каким-нибудь WinHex-ом байты попередвигать в little-endian никак?
__________________
«Мышление - это когда ты упрощаешь вещи, а не усложняешь их»
/Жак Фреско/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 09.12.2015, 12:00  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Реверс инжиниринг

А откуда взята точка старта? Из ESP8266 ?
Вы могли просто попасть на область данных.
В xtemsa расширяемая система команд. Одной заказной команды достаточно для сбоя. Реализация 8266 довольно хорошо дизасемблируется. Но она хорошо документирована. Главное правильно определить точку старта.
Impartial вне форума  
Непрочитано 09.12.2015, 21:39  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
По умолчанию Re: Реверс инжиниринг

Сообщение от Impartial Посмотреть сообщение
А откуда взята точка старта? Из ESP8266 ?
elf же - там есть адрес точки

Сообщение от Eddy71 Посмотреть сообщение
А каким-нибудь WinHex-ом байты попередвигать в little-endian никак?
там инструкции разной длины - может 24 а может 16, т.е. не понятно как передвигать более одной предполагаемой инструкции
fsmoke вне форума  
Непрочитано 12.01.2016, 20:31  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Реверс инжиниринг

fsmoke
Хоть и запоздалый совет, но тем не менее
Прежде чем писать собственный дизасм попробуй вручную десяток-два команд дизасемблировать. И сравни с тем, что дают другие программы. Ну и конечно, остаётся вопрос правильности (происхождения) прошивки - а есть ли уверенность, что прошивка правильная, а то может под видом прошивки бред?
Someone вне форума  
 

Метки
tensilica xtensa, реверс инжиниринг
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реверс направления вращения "жигулевского" стартера 4832253 Автоматика и аппаратура связи 3 26.07.2013 12:24
Головоломка для схемотехника, или реверс инжиниринг 80286 A7exander Отвлекитесь, эмбеддеры! 5 05.08.2012 16:14
Реверс хекскода Atmel worldmasters Микроконтроллеры, АЦП, память и т.д 79 17.02.2012 20:33


Часовой пояс GMT +4, время: 23:31.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.