- Tác giả bài viết gặp phải vấn đề là âm lượng trên tai nghe earbud Bluetooth Tozo T6 của mình quá lớn.
- Tác giả quyết định tự sửa đổi firmware của thiết bị để giải quyết vấn đề.
- Kế hoạch ban đầu của tác giả là tìm tệp nhị phân dành cho thiết bị của mình, hiểu cấu trúc nhị phân, tìm các tệp âm thanh trong đó, làm cho âm thanh nhỏ hơn rồi flash firmware đã chỉnh sửa lên thiết bị.
- Tác giả phát hiện một số giả định là sai, và cần nhiều công việc đảo ngược kỹ thuật hơn so với suy nghĩ ban đầu.
- Tác giả xác định chipset của thiết bị là Airoha AB1562, dựa trên Tensilica Xtensa ISA và có kèm "Cadence HiFi DSP coprocessor".
- Tác giả tìm thấy một ứng dụng Android tên là "AirReps156X" có thể cung cấp thông tin chẩn đoán cho thiết bị Airoha và cho phép flash firmware mới.
- Tác giả nhận thấy ứng dụng Tozo hiển thị phiên bản firmware và trạng thái hiện tại, điều này cho thấy nó giao tiếp với máy chủ để kiểm tra cập nhật.
- Tác giả dùng một proxy chặn bắt để theo dõi lưu lượng mạng của ứng dụng, và phát hiện phản hồi cho yêu cầu tới
/api/v1/getOtaVersionV3 chứa liên kết tới các tệp firmware .bin mà mình đang tìm.
- Tác giả phát hiện các tệp firmware đã được mã hóa hoặc nén, và các tệp nhị phân FotaPackage bên trái và bên phải có khác biệt nhỏ.
- Tác giả tìm được một bản sao SDK của chipset trên mạng và xác nhận rằng các tệp mp3 trong SDK được đưa nguyên trạng vào image hệ thống tệp.
- Tác giả có thể chỉnh sửa âm lượng của các tệp âm thanh trong image firmware mà không cần mã hóa lại hoặc thay đổi độ dài.
- Tác giả đã flash thành công firmware đã chỉnh sửa lên thiết bị và có được âm thanh nhỏ hơn đáng kể.
- Tác giả kết luận rằng việc điều chỉnh âm lượng âm thanh hệ thống nên là một tính năng cơ bản trên mọi thiết bị phát âm thanh.
1 bình luận
Ý kiến Hacker News