- 記事の筆者は、自分の Tozo T6 Bluetoothイヤホンの音量が大きすぎるという問題に直面した。
- 筆者は、デバイスのファームウェアを自分で修正して問題を解決することにした。
- 筆者の当初の計画は、自分のデバイス向けのバイナリファイルを見つけ、バイナリ構造を理解し、バイナリ内のオーディオファイルを探し出して音をより小さくしたうえで、修正済みファームウェアをデバイスに書き込むことだった。
- 筆者は、いくつかの前提が間違っており、当初考えていたよりも多くのリバースエンジニアリングが必要だと気づいた。
- 筆者は、自分のデバイスのチップセットが Tensilica Xtensa ISA ベースで、"Cadence HiFi DSP coprocessor" を含む Airoha AB1562 であることを突き止めた。
- 筆者は、Airoha デバイスの診断情報を提供し、新しいファームウェアを書き込める "AirReps156X" という Android アプリケーションを見つけた。
- 筆者は、Tozo アプリケーションがファームウェアバージョンと現在の状態を表示しており、これは更新確認のためにサーバーと通信していることを示していると分かった。
- 筆者は、アプリケーションのネットワークトラフィックを監視するためにインターセプティングプロキシを使用し、
/api/v1/getOtaVersionV3 へのリクエストに対するレスポンスに、探していたファームウェア bins へのリンクが含まれていることを発見した。
- 筆者は、ファームウェアファイルが暗号化または圧縮されており、左右の FotaPackage バイナリファイルにはわずかな違いがあることを発見した。
- 筆者は、オンラインでチップセットの SDK のコピーを見つけ、SDK 内の mp3 ファイルがファイルシステムイメージにそのまま含まれていることを確認した。
- 筆者は、ファームウェアイメージ内のサウンドファイルの音量を、再エンコードや長さの変更を行わずに修正できた。
- 筆者は、修正したファームウェアをデバイスに正常に書き込み、かなり静かなサウンドを得ることに成功した。
- 筆者は、システムサウンドの音量調整は、音声を再生するデバイスにおける一級の機能であるべきだと結論づけた.
1件のコメント
Hacker Newsの意見