- Makalenin yazarı, Tozo T6 Bluetooth kulaklıklarının ses seviyesinin fazla yüksek olması sorunuyla karşılaştı.
- Yazar, sorunu çözmek için cihazın firmware'ini doğrudan değiştirmeye karar verdi.
- Yazarın ilk planı, kendi cihazına ait ikili dosyaları bulmak, ikili yapıyı anlamak, ikili içindeki ses dosyalarını bulup sesi daha kısık hale getirmek ve ardından değiştirilmiş firmware'i cihaza flash'lamaktı.
- Yazar, bazı varsayımlarının yanlış olduğunu ve ilk düşündüğünden daha fazla tersine mühendislik gerektiğini fark etti.
- Yazar, cihazındaki yonga setinin Tensilica Xtensa ISA tabanlı olduğunu ve "Cadence HiFi DSP coprocessor" içerdiğini, modelin de Airoha AB1562 olduğunu keşfetti.
- Yazar, Airoha cihazları için tanılama bilgileri sağlayan ve yeni firmware flash'lamaya izin veren "AirReps156X" adlı bir Android uygulaması buldu.
- Yazar, Tozo uygulamasının firmware sürümünü ve mevcut durumu gösterdiğini, bunun da güncellemeleri kontrol etmek için sunucuyla iletişim kurduğunu gösterdiğini gördü.
- Yazar, uygulamanın ağ trafiğini izlemek için intercepting proxy kullandı ve
/api/v1/getOtaVersionV3 isteğinin yanıtında aradığı firmware bins bağlantılarının bulunduğunu keşfetti.
- Yazar, firmware dosyalarının şifrelenmiş veya sıkıştırılmış olduğunu ve sol ile sağ FotaPackage ikili dosyaları arasında küçük farklılıklar bulunduğunu tespit etti.
- Yazar, çevrimiçi olarak yonga setinin SDK kopyasını buldu ve SDK içindeki mp3 dosyalarının dosya sistemi imajına olduğu gibi dahil edildiğini doğruladı.
- Yazar, firmware imajı içindeki ses dosyalarının ses seviyesini, yeniden kodlama yapmadan veya uzunluklarını değiştirmeden düzenleyebildi.
- Yazar, değiştirilmiş firmware'i cihaza başarıyla flash'ladı ve çok daha kısık bir ses elde etti.
- Yazar, sistem seslerinin ses seviyesi kontrolünün, ses çalan cihazlarda birinci sınıf bir özellik olması gerektiği sonucuna vardı.
1 yorum
Hacker News görüşleri