dontexist @ 22.12.21, 18:21
Подскажи, где можно посмотреть подробности по командам/параметрам в QR.
Я попробовал разобрать прошивку firmware-v2.13.2-hi3516ev300-uniview-nand-b254554_prod.bin но там ничего полезного не нашел.
Этой прошивке 2 раздела - ядро в контейнере uimage и раздел приложения в формате ubi.
В разделе приложения есть модуль AgentUpdater, который занимается как минимум запуском основного модуля AgentGreen проверкой новой версии, контролем целостности и сканированием QR-кода. Если его дизассемблировать, например, IDA, то можно увидеть функцию, разбирающую QR-код, начинающийся с VCMFRT или VCMFRTE, в которой помимо ssid, pskm dhcp и т.п. присутствуют ветвления на чтение строк web=1 sh=1.
QR-код, который генерирует приложение РТ получается такой:
VCMFRT WiFi_SSID WiFi_PSK <текстовый_код> prod
VCMFRT WiFi_SSID WiFi_PSK1 <текстовый_код> prod
Действительно очень похоже на камеру по вашей ссылке.
Но есть несколько неприятных моментов.
1. AgentGreen при подключении к серверу РТ меняет пароль пользователя admin
2. AgentUpdater меняет пароль рута (это можно увидеть в скриптах и логе загрузки).
3. Параметр ag-cfg.json
"direct-access-allowed-by-default": true выставляет веб-интерфейс наружу
4. Параметр ag-cfg.json
"standalone-mode": true заставляет AgentGreen не подключаться к управляющему серверу РТ.
Параметр direct-access-allowed-by-default для пресета prod установлен в false, для остальных (b2gprod,demo,staging,p1,p2) - в true.
Однако параметра standalone-mode нет ни в одном из конфигов.
Т.е. выставить веб-интерфейс наружу можно и в неизмененной прошивке, изменив имя пресета в /config/vc/fw_env и /config/vc/ag_env, загрузившись в OpenIPC, но это не отменят сброс паролей admin и root.
Возможно параметры QR-кода как-то влияют, но надо проверять.
Плюсом именно патча файлов прошивки будет то, что она уже не сможет автоматически обновиться с сервера РТ и закрыть все бреши.
Перевод в standalone-режим при помощи QR-кода такой вариант уже не исключает.