- El autor del artículo se enfrentó al problema de que el volumen de sus earbuds Bluetooth Tozo T6 era demasiado alto.
- El autor decidió resolver el problema modificando directamente el firmware del dispositivo.
- Su plan inicial era encontrar el archivo binario de su dispositivo, entender la estructura binaria, localizar los archivos de audio dentro del binario, hacer que el audio fuera más silencioso y luego flashear el firmware modificado al dispositivo.
- El autor descubrió que algunas suposiciones eran incorrectas y que se necesitaba más ingeniería inversa de la que había pensado al principio.
- El autor descubrió que el chipset de su dispositivo era un Airoha AB1562, basado en la ISA Tensilica Xtensa e incluyendo un "Cadence HiFi DSP coprocessor".
- El autor encontró una aplicación de Android llamada "AirReps156X" que permite obtener información de diagnóstico de dispositivos Airoha y flashear nuevo firmware.
- El autor observó que la aplicación de Tozo mostraba la versión del firmware y el estado actual, lo que indicaba que se comunicaba con un servidor para comprobar actualizaciones.
- El autor usó un proxy de interceptación para monitorear el tráfico de red de la aplicación y descubrió que la respuesta a una solicitud a /api/v1/getOtaVersionV3 contenía el enlace a los bins del firmware que estaba buscando.
- El autor descubrió que los archivos de firmware estaban cifrados o comprimidos, y que los binarios FotaPackage izquierdo y derecho tenían diferencias menores.
- El autor encontró en línea una copia del SDK del chipset y confirmó que los archivos mp3 dentro del SDK estaban incluidos tal cual en la imagen del sistema de archivos.
- El autor pudo modificar el volumen de los archivos de sonido dentro de la imagen del firmware sin recodificarlos ni cambiar su longitud.
- El autor flasheó con éxito el firmware modificado en el dispositivo y obtuvo un sonido mucho más silencioso.
- El autor concluye que el ajuste de volumen de los sonidos del sistema debería ser una función de primera clase en cualquier dispositivo que reproduzca audio.
1 comentarios
Comentarios de Hacker News