Публикация данной статьи была отложена, так как информация была передана в Яндекс Вug Bounty. На момент публикации наверняка в прошивку внесены изменения, так что я рекомендую описанный ниже метод использовать на свежеприобретенном устройстве не выпуская его в Internet для обновления. После расшифровки u-boot я решил посмотреть на процесс его загрузки, чтобы найти возможность запуска своего кода. В отличие от других устройств Яндекса в камере отсутствует запуск скриптов с USB/SD карты в режиме восстановления. В режиме восстановления командой bootm загружается отдельное ядро Linux: Команду bootm я и решил проанализировать. Основная логика загрузки реализуется в функции do_bootm_states (файл common\bootm.c). В исходниках код простой: но в прошивке функции bootm_start, bootm_find_os и другие заинлайнены, что несколько запутывает при анализе. Приведу код вызова bootm_find_os, так как именно там делается вызов команды расшифровки и проверки подписи образа: Видно, что сперва определяется ад