Процессор, которого не существует. Читаем и пишем ПЗУ

Опубликовали статью о процессоре, которого нет в линейке производителя. В блоке SRS Fiat обнаружился чип с маркировкой TMS470PV384, который по документации не существует — это проприетарный вариант семейства TMS470 с изменённым распределением регистров.

Архитектура оказалась ARM7TDMI, но базовые адреса и смещения регистров Flash отличались от известных TMS470R1. Чтобы восстановить карту регистров, мы проанализировали заголовочные файлы ARM IAR Embedded Workbench, дизассемблировали загрузчик SEGGER и перевели его в C с помощью нейросети и IDA.

Отдельной сложностью стали ключи безопасности уровня 2: процессор свободно читается, но для стирания и записи требуются правильные ключи, адрес хранения которых нам не был известен. Методом подбора размера сектора доступ к записи был получен.

В итоге мы написали работающий загрузчик, умеющий стирать и записывать эти «неведомые» процессоры, которые существуют на рынке более 15 лет, но ни один общедоступный программатор писать их не умел.

Читать статью на Habr →

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>