Загрузка...

Need reverse engineering of 8051 firmware

Thread in Reversing / Assembler created by Guardian_code Dec 5, 2025. 236 views

  1. Guardian_code
    Guardian_code Topic starter Dec 5, 2025 0 Nov 30, 2025
    Патч прошивки HDD-контроллера (8051). Проблема: PIN OK, но нет LUN. Бюджет: Обсуждается (Оплата за результат: появление LUN в системе).

    Объект: Внешний диск Lenovo 57Y4400.

    MCU: Initio INIC-1610 (ядро Turbo 8051).

    Auth: Внешний PIC16F883-контроллер (клавиатура).

    Storage: Внешняя SPI-флеш SST25VF010A (128KB).

    Суть проблемы: PIN-код известен и валиден (на корпусе загорается зелёный LED — PIC дает добро). Однако LUN в системе не поднимается (диск не определяется как Mass Storage). Есть гипотеза, что прошивка INIC-1610 читает служебную область («хвост» HDD, последние 32KB), не проходит проверку целостности (magic/CRC/структура) и блокирует инициализацию USB-моста.

    Задача: Проанализировать дамп прошивки (Ghidra/IDA) и найти логику:

    Чтения служебной зоны HDD (ATA Read, поиск сигнатуры 25 C9 9C...).

    Обработки сигнала успешной авторизации от PIC.
    Принятия решения о монтировании LUN.

    Требуемый результат: Байт-патч прошивки (или инструкция по правке хвоста), который отключает проверку целостности/валидности хвоста.

    Критерий успеха: После ввода PIN диск отдает LUN и определяется в ОС.

    Примечание: Если хвост используется как контейнер ключа шифрования (DEK) и без него данные мусор — это допустимо. Главная цель сейчас — получить LUN.

    Входные данные (предоставлю):

    дамп SPI-флеш U4 (128 КБ, бинарный).

    дамп «хвоста» HDD (32 КБ).

    Фото платы (High-Res) для понимания разводки.

    Я выступаю тестировщиком (есть программатор и железо, оперативно проверяю гипотезы).

    Стек: ASM 8051, Ghidra/IDA Pro, понимание ATA-команд.

    @hex_walker
     
Loading...