eXeL@B —› Вопросы новичков —› исследование прошивки |
Посл.ответ | Сообщение |
|
Создано: 09 марта 2019 00:42 · Личное сообщение · #1 Приветствую Хотел спросить совета по поводу исследования прошивки в статике. В общем есть мозги двигателя с процессором Motorolla 563. Для друга нужно было найти алгоритм хэша, который в них используется. Алгоритм повезло найти, но в программе по диагностике этого двигателя. Задача выполнена, но мне стало интересно насколько сложно было бы найти этот алгоритм в прошивке, если бы его не было бы в программе. Раньше с исследованием прошивок вообще не сталкивался. Но у меня сейчас есть на руках алго, каким он точно должен быть, что по идее должно облегчить изучение вопроса. То что алго есть в прошивке, подтверждает наличие в ней строки, которая используется в алгоритме. Подгрузил прошивку в ИДУ (выбрал PowerPC и процессор mpc5xx), но обычные методы поиска не помогают. Ссылок на строку нет, поиск по известным константам тоже ни чего не дал - слишком много совпадений. Насколько вообще сложно и вообще реально исследовать прошивку в статике (т.е. просто загрузив ее в ИДУ)? И что можно почитать для начала по этому вопросу? Получил один совет - использовать JTAG для отладки процессора, но для меня это так же темный лес + доступ к блоку возможен только через teamviewer |
|
Создано: 09 марта 2019 04:00 · Поправил: f13nd · Личное сообщение · #2 Имеется в виду кс или хеш, используемый в цп? То, что в прошивке есть какой-то крипторафический алгоритм еще не говорит о том, что он используется там, где надо. И обычно никаких строк, указывающих на алгоритм, в прошивках эбу не бывает - их просто некуда выводить. Анализировать прошивку в статике можно, но с ограничениями. Есть вещи, которые в статике почти невозможно выяснить и хорошо если что-то можно сделать не выясняя их. Попытка зацепить jtag/aud отладчик может обернуться очень увлекательным приключением, а главное мало кто может здесь что-то подсказать и еще меньше станут подсказывать. ----- 2 оттенка серого |
|
Создано: 09 марта 2019 22:29 · Личное сообщение · #3 f13nd это не кс. там для редактирования некоторых параметров нужно ввести типа инженерного пароля. пароль проверяется в эбу. пароль представляет собой что-то типа хэша от некоторых параметров типа SN, part number и других. в оригинальной проге для диагностики был типа модуль симуляции этого эбу, откуда я и дернул алго. мне просто интересно стало посмотреть как он реализован в прошивке (у меня есть полый дамп) и как его можно было бы найти, если бы не было такого подарка от разрабов. зацепится решил за строка которая используется в алго. в дампе она присутствует, но она расположена между процедур которые распознала ИДА и ссылок на нее нет. Добавлено спустя 4 минуты вообще я даже ни где не смог найти полного списка команд, чтобы хотя бы понимать что происходит в распознанных ИДОй процедурах |
|
Создано: 10 марта 2019 03:49 · Поправил: f13nd · Личное сообщение · #4 zds пишет: представляет собой что-то типа хэша от некоторых параметров типа SN, part number и других Откуда уверенность, что в прошивке есть алгоритм? Эти значения статические. Иденты часто прошивка не берет напрямую с адесного пространства флеша, предварительно переносит в память, переносить может несколько раз. Если на них совсем нету кросс референсов, значит адресуются динамически и надо что-то придумывать для дополнительного анализа, если ида не могёт. Это и есть главный минус статики. В твоем случае я бы плясал от сервиса, которым ключ передается, с него проще добраться до алгоритма, если он есть, чем с идентов. zds пишет: найти полного списка команд, чтобы хотя бы понимать что происходит в распознанных ИДОй процедурах Options - General - Auto comments или мануалы на наборы инструкций этого семейства контроллеров или базовые для ppc. ЗЫ: кстати в параллельной ветке есть црушная GHIDRA, в которой есть декомпилер ppc, с ней может оказаться попроще чем с идой. ----- 2 оттенка серого | Сообщение посчитали полезным: zds |
|
Создано: 10 мая 2019 13:15 · Личное сообщение · #5 |
eXeL@B —› Вопросы новичков —› исследование прошивки |