Invasão do BETAFPV P1 Air Unit: vídeo alheio pelo rádio digital
Saiu no Habr uma análise detalhada do transmissor de vídeo digital BETAFPV P1 Air Unit. O autor explica que o mercado de sistemas de vídeo FPV tinha poucos fabricantes digitais, que dava para contar nos dedos de uma mão: DJI, Walksnail, HDZero e Siyi. Agora BETAFPV, HGLRC e outros também lançaram seus sistemas, e os entusiastas logo perceberam que todos usam as mesmas placas com chips Artosyn.
Dentro do P1 Air Unit há um SoC Artosyn AR9311 rodando Linux 4.9 e BusyBox, enquanto o enlace de rádio fica a cargo de um chip AR8030 separado, com FreeRTOS. O autor encontrou uma UART com console root, e a senha acabou sendo achada entre algumas variantes baseadas no contexto. É exatamente o tipo de caso em que o fabricante, aparentemente, não esperava que alguém olhasse por dentro.
A parte mais interessante vem depois. Substituir o fluxo inteiro do codificador não funcionou: os óculos até decodificam, mas não de forma estável. Então o autor usou LD_PRELOAD para interceptar a função que envia os quadros ao codificador H.265 de hardware, trocando os pixels na entrada dele. Assim, os óculos exibem uma imagem alheia como se viesse da câmera original. Um detalhe curioso é que o codificador comprime cada quadro de 1080p em duas faixas independentes (1920×560 e 1920×552), provavelmente para manter a latência baixa.
Acho que esse tipo de artigo é útil até para quem só pilota: mostra como são feitos os novos sistemas digitais baratos e por que são tão fáceis de estudar. Quem se interessa por engenharia reversa deve ler o texto inteiro.
Fonte: Habr
Dentro do P1 Air Unit há um SoC Artosyn AR9311 rodando Linux 4.9 e BusyBox, enquanto o enlace de rádio fica a cargo de um chip AR8030 separado, com FreeRTOS. O autor encontrou uma UART com console root, e a senha acabou sendo achada entre algumas variantes baseadas no contexto. É exatamente o tipo de caso em que o fabricante, aparentemente, não esperava que alguém olhasse por dentro.
A parte mais interessante vem depois. Substituir o fluxo inteiro do codificador não funcionou: os óculos até decodificam, mas não de forma estável. Então o autor usou LD_PRELOAD para interceptar a função que envia os quadros ao codificador H.265 de hardware, trocando os pixels na entrada dele. Assim, os óculos exibem uma imagem alheia como se viesse da câmera original. Um detalhe curioso é que o codificador comprime cada quadro de 1080p em duas faixas independentes (1920×560 e 1920×552), provavelmente para manter a latência baixa.
Acho que esse tipo de artigo é útil até para quem só pilota: mostra como são feitos os novos sistemas digitais baratos e por que são tão fáceis de estudar. Quem se interessa por engenharia reversa deve ler o texto inteiro.
Fonte: Habr
Comentários 0
Deixe o primeiro comentário, em qualquer idioma.
Entre para comentar