Перейти к содержанию
Русский
Материал FikirPilot

Восстановление прошивки устройства по данным SPI

Обновлено: 24.09.2026 · 2 мин чтения · 279 слов

Опубликовано: · Новость поступила: · Время обработки: 4 мин

Восстановление прошивки устройства по данным SPI
Электронная печатная плата и щупы

Извлечение флеш-чипа для получения прошивки загадочного устройства сопряжено с риском повредить устройство, а считывание чипа непосредственно на плате также может оказаться безуспешным. Вместо этого [Matthew “wrongbaud” Alt] рассказывает, как с помощью логического анализатора выявить, записать и проанализировать операции чтения по SPI, которые распространённый флеш-чип серии W25Q выполняет при запуске. Поскольку метод ограничен данными, которые процессор действительно считал, он может не предоставить содержимое всего чипа.

Сначала Alt объясняет основы SPI-коммуникации и то, как интерпретировать сигналы с помощью технического описания флеш-чипа. Затем он обрабатывает записи логического анализатора с помощью Scapy и преобразует их в файл-образ, который можно передать в binwalk. Инструмент Python Scapy можно использовать для работы с такими данными не только с сетевыми пакетами.

Несмотря на наличие в образе прошивки загрузчика и ядра Linux, выясняется, что раздел файловой системы отсутствует. Причина в том, что до чтения файловой системы процессор переходит в более быстрый режим Quad-SPI, использующий две дополнительные линии данных. После дополнительной записи и обработки два образа объединяются с помощью одной однострочной команды dd. Среди работ Alt также есть руководство по взлому оборудования и исследования fault injection.

Почему это важно

Такой подход снижает риск повреждения устройства и одновременно позволяет исследователям отслеживать реальный обмен данными на плате, поскольку исследование прошивки можно проводить без демонтажа чипа. Однако полученный образ изначально ограничен по охвату, поскольку отражает не всё содержимое памяти, а только те разделы, к которым процессор обращается во время загрузки. В частности, переход с SPI на Quad-SPI показывает, почему запись только стандартных сигналов может дать неполный результат, и требует учитывать линии данных, используемые в аналогичных исследованиях. Это означает, что для специалистов по исследованию аппаратного обеспечения и реверс-инжинирингу одного этого метода недостаточно: для восполнения отсутствующих разделов могут потребоваться дополнительные этапы записи и обработки.

Источник: Hackaday