Рассматриваемая камера построена на базе процессора Ambarella S3L и памяти NOR. Осложняется дело тем, что в ростелекомовской прошивке для этой платформы используется урезанный загрузчик. Провести процесс прошивки прямо из него не вышло, значит будем шить программатором.
Полез искать прошивку и, после пары неудачных попыток, она была найдена на одном из буржуйских серверов. Дальше, с помощью программы Dump Builder, из частей прошивки был слеплен дамп, который и был прошит. Сразу, конечно, не заработало, т.к. в дампе отсутствует информация об ID, MAC-адресе и HWID. Всё это задал через UART.
Уже после сборки камеры подумал, что неплохо было бы снять полный дамп со всеми этими идентификаторами, но разбирать было лениво. Попробовал снять его через UART и всё получилось, т.к. в загрузчике Dahua все необходимые команды были доступны. Камера у меня была всего одна, поэтому полный дамп проверить было не на чем. Приложу к статье оба варианта и жду обратной связи.
Инструменты
Материалы
- DH-IPC-HFW2231TP-VFS_00.zip – “пустой” дамп.
- DH-IPC-HFW2231TP-VFS.zip – дамп с HWID, ID и MAC-ом.
- DH-IPC-HFW2231TP-VFS_RT.zip – ростелекомовский дамп.
Утилиты
- Dump Builder – утилита для сборки дампов из частей.
- Putty — программа для работы через UART.
- ConfigTool — поисковая утилита для камер Dahua.
Исходные данные


Сборка дампа
Раньше, в подобных случаях, либо шил только загрузчик, а остальное уже из него, либо собирал дамп вручную: отрезал заголовки и объединял все кусочки в единый файл в соответствии с адресами из заголовков. Была идея самому написать программулину для создания дампов, т.к. делать это вручную не очень удобно, но вспомнил про Dump Builder и решил посмотреть, что это такое. Потому как, судя по названию, это оно и есть. Так и оказалось, причём Dump Builder умеет не только соединять бинарники в единый дамп, он умеет распознавать заголовки, отрезать их и вставлять то, что осталось по правильным адресам. Короче: всё уже придумано до нас!
Как обычно, распаковываем прошивку с помощью 7zip, создаём в Dump Builder пустой дамп размером 32 Мб и с помощью пункта Загрузить модуль скармливаем ему все части прошивки по-очереди. В результате получаем готовый дамп, который и заливаем во флешку с помощью программатора.
Прошивка
Сам процесс прошивки описывать особого смысла нет – всё стандартно. Подключаем программатор к компьютеру и прилаживаем зонд на микросхему памяти, убеждаясь в надёжном контакте со всеми 8-ю выводами. Запускаем программу Xpro, нажимаем кнопку AUTO, потом Detect, чтобы определить модель микросхемы и открываем файл дампа. Шьём со стиранием и проверкой.
Скрины вроде бы делал, но их нет. Подождём до следующего экземпляра…









