Есть прошивка для 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, т.к. он проще и меньше чем основная прошивка