- O autor do artigo se deparou com o problema de que o volume dos seus earbuds Bluetooth Tozo T6 era alto demais.
- O autor decidiu resolver o problema modificando diretamente o firmware do dispositivo.
- O plano inicial do autor era encontrar os arquivos binários do seu dispositivo, entender a estrutura binária, localizar os arquivos de áudio dentro do binário, deixar o áudio mais baixo e então gravar o firmware modificado no dispositivo.
- O autor descobriu que algumas suposições estavam erradas e que seria necessário fazer mais engenharia reversa do que imaginava no início.
- O autor descobriu que o chipset do seu dispositivo era o Airoha AB1562, baseado na ISA Tensilica Xtensa e com um "Cadence HiFi DSP coprocessor".
- O autor encontrou um aplicativo Android chamado "AirReps156X" que fornece informações de diagnóstico para dispositivos Airoha e permite gravar novo firmware.
- O autor observou que o aplicativo Tozo exibia a versão do firmware e o estado atual, o que indicava que ele se comunicava com o servidor para verificar atualizações.
- O autor usou um proxy de interceptação para monitorar o tráfego de rede do aplicativo e descobriu que a resposta à requisição para /api/v1/getOtaVersionV3 continha o link dos arquivos binários de firmware que ele procurava.
- O autor descobriu que os arquivos de firmware estavam criptografados ou compactados, e que os arquivos binários FotaPackage da esquerda e da direita tinham pequenas diferenças.
- O autor encontrou online uma cópia do SDK do chipset e confirmou que os arquivos mp3 dentro do SDK eram incluídos diretamente na imagem do sistema de arquivos.
- O autor conseguiu modificar o volume dos arquivos de som dentro da imagem de firmware sem reencodificá-los nem alterar seu tamanho.
- O autor gravou com sucesso o firmware modificado no dispositivo e obteve um som muito mais baixo.
- O autor concluiu que o ajuste de volume dos sons do sistema deveria ser um recurso de primeira classe em dispositivos que reproduzem áudio.
1 comentários
Comentários do Hacker News