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

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

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

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

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

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


 
Опции темы
Непрочитано 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
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,561
Сказал спасибо: 5,396
Сказали Спасибо 24,783 раз(а) в 5,563 сообщении(ях)
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.RU
 
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 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, время: 07:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot