Перейти к содержанию
    

Реверс прошивки для Renesas RISC SuperHTM RISC/SH7144 Series

Ребята, есть такой вопрос.

Надо посмотреть логику работы одной функции в прошивке к железке.

Распаян проц 64F7144F50V. Гуглинг дает:

Quote

The SH7144 Group and SH7145 Group CPU has a RISC-type instruction set. Most instructions can be executed in one state (one system clock cycle), which greatly improves instruction execution speed. In addition, the 32-bit internal-bus architecture enhances data processing power

Прошивка не шифрована, в ASCII виден текст. И уже были те, кто в устройство лазал, и нашел все, что искал.

Но спец, кто ее копает (парень головастый, но RISС-V не видел), говорит, что не может понять, где в прошивке начинается код. Якобы, ничего не совпадает с описанием проца.

Кто-то может глянуть и помочь? Можно небесплатно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А конкретный вопрос специалиста вот:

Quote

С risc-v не работал никогда и не знаю за что зацепится тчо бы найти точку входа откуда начинается загрузка девайса. Как следствие, я не могу докопатся до кода самой функции которая реализует логику.

Можете подсказать?

Изменено пользователем EIKA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 minutes ago, EIKA said:

парень головастый, но RISС-V не видел

 Головастый бы не путал SuperH и RISC-V.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Он не в этом головастый. Он спец по NET, ARM и Assembler.

И в чем ошибка конкретно? На плате 64F7144F50V SH2, в блок-схеме он обозначен как RISC Processor.

Гуглинг выдает этот даташит: HD64F7144F50V.PDF

Изменено пользователем EIKA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RISC это архитектура - Reduced Instructions Set Computer - компьютер с сокращённым набором команд: AVR, MSP430, ARM (да-да) это всё RISC, но они "даже не однофамильцы".
Ренесас прямым текстом говорит, что он своё сам умеет, и RISC-V нигде даже не упоминает.

Изменено пользователем Obam

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ. Я вас понял - это RISC, но не RISC-V. И поддерживаемые им наборы инструкций, это SH-1/SH-2/SH-DSP.

Тем не менее, вопрос остается - как искать точку входа в бинарнике прошивки/точку начала загрузки устройства? Дальше уже assembler-коды, с ними сами разберемся.

Изменено пользователем EIKA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно также, как искал бы ваш спец точку входа в бинарнике ARM-а...

Дальше уже assembler-коды, с ними сами разберемся.


Оптимии-и-исты... (-8Ж

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, Obam said:

Точно также, как искал бы ваш спец точку входа в бинарнике ARM-а...


Оптимии-и-исты... (-8Ж
 

Спасибо, вы очень помогли. Наверное. Кому-то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, он не старается. Или действительно не силен. Буду искать друого за доп. деньги.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы человеку время разобраться-то дайте (дня 2 уже потрачено, подозреваю, не больше ;-) ), когда узнает, что не RISC-V, всё на свои места встанет; и кстати, возможно в IDA-PRO есть модули для дизассемблирования вашего Ренесасаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Человек без дела не сидит. Востребован-с. У него высокий процесс реверса на самом деле. С IDA PRO и Ghidra управляется на 4 из 5, не меньше, и дизассил до этого вполне себе успешно. Вопрос в точке входа. После точки входа обещает результат за один вечер.

Но тратить дни на поиск точки входа не готов. Потому, что есть другие задачи, и другие проекты, где платят больше. А у меня, как всегда, проекты маленькие, малобюджетные, ибо частные. Не могу конкурировать с корпорациями, которые нонче платят $$$ за подобный труд.

Если бы я мог, я бы работал с ним по китайскому методу - сажаем в тюрьму, даем компьютер, приковываем к нему на 16 часов в сутки. Но, к счатью или сожалению (смотря с какой стороны смотреть), пока такой вариант нереализуем. И человек имеет возможность выбирать где ему проще заработать денег.

Вот и все.

Изменено пользователем EIKA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, EIKA said:

Но тратить дни на поиск точки входа не готов. Потому, что есть другие задачи, и другие проекты, где платят больше. А у меня, как всегда, проекты маленькие, малобюджетные, ибо частные. Не могу конкурировать с корпорациями, которые нонче платят $$$ за подобный труд.

Почему не почитать раздел 5 вашего pdf?

Вроде процессор как процессор - точка входа по ресету (стр 62(102):

Quote

The initial values of the program counter (PC) and stack pointer (SP) are fetched from the exception processing vector table (PC and SP are respectively the H'00000000 and H'00000004 addresses for power-on resets and the H'00000008 and H'0000000C addresses for manual resets). See section 5.1.3, Exception Processing Vector Table, for more information. H'00000000 is then written to the vector base register (VBR), and H'F (B'1111) is written to the interrupt mask bits (I3 to I0) of the status register (SR). The program begins running from the PC address fetched from the exception processing vector table.

и т.д.

 

Кроме того вроде есть эмулятор - загрузить туда и посмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 minutes ago, _4afc_ said:

Вроде процессор как процессор - точка входа по ресету (стр 62(102):

Прибор у меня, человек работает только с файлом. Ресета, JTAG - всего этого нет. Есть только файл.

22 minutes ago, _4afc_ said:

Кроме того вроде есть эмулятор - загрузить туда и посмотреть.

Это штуки типа вот этих?

https://github.com/logic/sh2dis
https://github.com/TheRainbowPhoenix/RuK
https://github.com/natnat-mc/libsh3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 minutes ago, EIKA said:

Прибор у меня, человек работает только с файлом. Ресета, JTAG - всего этого нет. Есть только файл.

Ну от вас надо только понять запуск по обычному ресету или что-то нагородили...

По обычному ресету вероятно PC=(0), SP=(4)

 

Возможно Selection of Operating Modes на стр 47(87) влияет на точку входа.

 

27 minutes ago, EIKA said:

Хорошо бы начать с того что описывает "Simulator Debugger (for Windows) User's Manual ADE-702-186".

Нужно понять сколько секций нагородил линковщик и куда бросил таблицу векторов.

 

Коль он симулятор под этот процессор - должен после загрузки раскидать все данные в нужные места.

Иногда бывают ремапы облостей памяти. MMU надеюсь нет.

 

Просто возможно есть внутри проца свой бутлоадер в ПЗУ который понимает по тегам что за секция и куда её разместить из флеш до старта.

Но содержимого ПЗУ у вас нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...