Представим такую ситуацию. Определённое устройство имеет контроллер с внешним eeprom. В прошивке еепрома нужно поменять пару байт, но есть подозрение на наличие контрольной суммы в прошивке. Вопрос собственно заключается в следующем. Какие есть способы определять наличие КС, алгоритмы общёта, места разположения КС и т.д. т.е. вопрос скорее теоретический. Интересуют высказывания, ссылки, пинки, ртфмы, воообщем всё что может касаться этой темы.
Постоянно сталкиваюсь с этим при редактировании прошивок для Ресиверов! Собственно прошивка состоит из двух областей: программного кода и калибровочных данных.Любое изменение данных в области программного кода или калибровочных данных требует пересчет контрольной суммы прошивки.
То есть, в конце прошивы я имею довольно большой промежуток полный FF (Тобишь пустых значений)! Заменив который я могу вписать программный код! Либо убрав что-то заменив его соответственно на теже FF. Таким образом, подбивая контрольную сумму! При этом смотрю, чтобы размеры прошивы оставались точно такими же, как до редактирования!
Обычно редактирую в WinHex.
Опыт растет прямо пропорционально количеству испорченного оборудования.
Отправить комментарий