最近三件小折腾:荣耀手环、旧 MacBook、应用宝下载

番星

这三件事没什么关联,唯一共同点是:都是因为自己被某个小问题卡住了,才动手的。

荣耀手环 9:等审核的时候先拆协议

想用荣耀手环的健康数据,但开发者资格还在审核。等不下去,就先从蓝牙协议入手。

项目是 honor-band-9,目标很明确:让自己的 Android 应用能读到自己的步数、心率、血氧、压力和睡眠,不经过官方 App。

主要产出是 docs/TaskA_握手逆向分析.md,把 X25519 + HiChain 的认证握手、MbbCommand 的报文格式和移植方案写清楚了。工具链用 androguard 反汇编定位认证相关类,另有一份 scripts/honor-ble.js 作为 MCF / D2D / URPC 协议栈的参考实现,还有个能扫描、连接、读写、收通知的原生 Android 测试 App 源码。

边界得说清楚:这是对自己持有设备的互操作研究,目的是读自己的数据。仓库里不含任何荣耀的二进制文件——没有 APK、没有 .so、没有反编译产物,只有我自己的分析和工具。要复现得自己拿合法获得的安装包在本地跑一遍。

手势握手那部分比预想的复杂,尤其 HiChain 的分层认证,绕了不少弯。

MacBook 9,1:把扬声器修回来

2016 款 12 寸 MacBook,装了 Ubuntu 之后内置扬声器一直没声音。CS4208 编解码器,codec SSID 106b:6500,属于 Linux 社区老问题。

折腾了几天,最后跑通的组合是:

  • 匹配 Ubuntu 内核 ABI 的驱动模块
  • 固定 S16_LE / 44100 Hz / 四声道
  • 在播放准备和耳机切回扬声器时,显式写入数字转换器的独立声道计数
  • 保留功放 GPIO 配置
  • WirePlumber 用专用 profile,配软件音量

只改音量、或者只把桌面切成四声道,在这台机器上都不解决问题——这是试出来的,不是查出来的。

验收情况要分开说:两次普通桌面播放人耳确认有声,中间空闲 7 秒没手动写寄存器,四声道配置和参数检查通过。但整机重启、睡眠恢复、耳机切换、麦克风录音都还没验证。所以仓库里只承诺「这台机器 + 这个内核版本」,不承诺全新安装流程。

记录在 macbook9.1,带 Release 产物和完整恢复 ZIP。

应用宝:少点两次

在电脑上下载安卓应用,走应用宝的话流程是:搜应用 → 进详情页 → 找下载按钮 → 可能还要再点一次。

这活太机械了,写了个油猴脚本 yyb-auto-jump:访问 sj.qq.com/appdetail/<包名> 时自动提取包名,跳转到 a.app.qq.com/o/simple.jsp?pkgname=<包名> 直接下载页。

1
2
sj.qq.com/appdetail/com.tencent.mobileqq
→ a.app.qq.com/o/simple.jsp?pkgname=com.tencent.mobileqq

已经在目标页就不动作,避免死循环。支持 ScriptCat 和 Tampermonkey,脚本猫商店里搜「应用宝一键跳转下载」就能装。

十分钟写完,但每天省两次点击,一年下来也算值了。


这三件事有个共同点:都不是什么大工程,但解决之后确实爽。折腾的乐趣大概就在这儿。

  • 标题: 最近三件小折腾:荣耀手环、旧 MacBook、应用宝下载
  • 作者: 番星
  • 创建于 : 2026-10-14 22:00:00
  • 更新于 : 2026-10-21 20:11:26
  • 链接: https://xingbox.me/small-hacks-october/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
最近三件小折腾:荣耀手环、旧 MacBook、应用宝下载