Поиск компактной и недорогой IP-камеры с симпатичным дизайном внезапно для меня оказался трудной задачей. Однако, мне повезло наткнуться на модель MJSXJ02HL от Xiaomi. Отличный бюджетный гаджет (20-30$) сразу привлек к себе стильным внешним видом. Недолго думая заказал одну штуку для тестов.
Но, как выяснилось позже, в новых партиях производитель добавил в U-Boot проверку цифровой подписи файлов прошивок. И на этом, казалось, можно было поставить точку, если бы не идея сделать откат загрузчика до предыдущей версии.
И так, для начала нужно разобрать устройство (как это сделать можно посмотреть здесь). Интересующий нас чип памяти EN25QH128A находится с лицевой стороны платы (там где объектив).
Выпаиваем его и считываем дамп с помощью программатора CH341A (в качестве софта рекомендую использовать NeoProgrammer). После обязательно производим проверку! Если ошибок не обнаружено - сохраняем результат в файл dump.bin и помещаем его в каталог инструментов uboot_patcher (ссылка на скачивание находится в конце этой статьи).
В зависимости от операционной системы запускаем файл patcher.bat (для Windows) или patcher.sh (для Linux) и спустя несколько секунд получаем на выходе файл output.bin, который необходимо зашить обратно в чип.
У меня не получилось заново прошить "родную" микросхему памяти - возможно я просто перегрел ее при снятии/установке, а может быть на ней активирована защита от записи. В любом случае я рекомендую заказать аналогичную SPI памятью 25-серии размером не менее 128 Мбит (например такую), а оригинальную оставить в качестве хардварного бекапа.
Теперь можно устанавливать на камеру любые прошивки, в том числе и модифицированные!
Хочу отдельно выразить благодарность пользователям rezmus89 и marines за предоставленный дамп загрузчика. Именно благодаря этим людям вы имеете возможность откатить U-Boot своей камеры до "правильной" версии.
- U-Boot Patcher: uboot_patcher.zip (413 Кб)
- Полный дамп:
