- लेख के लेखक को अपने Tozo T6 Bluetooth earbuds की वॉल्यूम बहुत ज़्यादा होने की समस्या का सामना करना पड़ा.
- लेखक ने समस्या हल करने के लिए डिवाइस के firmware को खुद संशोधित करने का फैसला किया.
- लेखक की शुरुआती योजना थी कि अपने डिवाइस के लिए binary file ढूंढी जाए, binary structure को समझा जाए, binary के भीतर audio files को खोजा जाए, audio को और धीमा बनाया जाए, और फिर संशोधित firmware को डिवाइस पर flash किया जाए.
- लेखक ने पाया कि उनकी कुछ धारणाएँ गलत थीं, और शुरुआत में सोचे गए से कहीं ज़्यादा reverse engineering की ज़रूरत थी.
- लेखक ने पता लगाया कि उनके डिवाइस का chipset Airoha AB1562 है, जो Tensilica Xtensa ISA पर आधारित है और इसमें "Cadence HiFi DSP coprocessor" शामिल है.
- लेखक को "AirReps156X" नाम का एक Android application मिला, जो Airoha डिवाइसों के लिए diagnostic information देता है और नया firmware flash करने देता है.
- लेखक ने देखा कि Tozo application firmware version और current status दिखाता है, जिससे संकेत मिलता है कि वह updates जांचने के लिए server से communicate करता है.
- लेखक ने application के network traffic को monitor करने के लिए intercepting proxy का इस्तेमाल किया, और पाया कि /api/v1/getOtaVersionV3 के request response में वही firmware bins link शामिल था जिसकी उन्हें तलाश थी.
- लेखक ने पाया कि firmware files encrypted या compressed थीं, और बाएँ तथा दाएँ FotaPackage binary files में हल्के अंतर थे.
- लेखक को ऑनलाइन chipset के SDK की एक copy मिली और उन्होंने पुष्टि की कि SDK के भीतर की mp3 files file system image में ज्यों-की-त्यों शामिल थीं.
- लेखक firmware image के भीतर sound files की वॉल्यूम को re-encode किए बिना या उनकी लंबाई बदले बिना संशोधित कर सके.
- लेखक ने संशोधित firmware को सफलतापूर्वक डिवाइस पर flash किया और कहीं अधिक शांत sound हासिल की.
- लेखक ने निष्कर्ष निकाला कि system sounds की वॉल्यूम कंट्रोल, audio चलाने वाले डिवाइस में एक first-class feature होना चाहिए.
1 टिप्पणियां
Hacker News की राय