案例

bosectl:重建 Bose BMAP 耳机协议

无需 Bose 应用、账号或云服务,即可在 Linux 和 macOS 上控制 Bose 耳机:项目提供 Python、Rust 和 C++ 库及命令行工具,在蓝牙 RFCOMM 上实现 Bose 的 BMAP 协议。作者在 NOTES.md 中记录了 BMAP 的功能块、操作符、载荷布局和错误码,据称是通过探测 RFCOMM 通道、在 Bose 应用中更改设置时抓取蓝牙通信并逐一测试各操作符得出的;这些库涵盖降噪、均衡器、空间音频、按键重映射、配置档和设备设置。各型号的支持情况由作者和贡献者报告。

目标
协议
类别
独立重建案例
关联
独立重建项目
来源复核于

使用条件与局限

  • 所审阅的提交即 2026-09-28 发布的 v0.5.0 版本,该版本提供由 Rust 和 C++ 代码构建的 Linux x86_64 bmapctl 二进制,并附 SHA256SUMS;Rust crate 也以 bose-bmap 0.5.0 发布在 crates.io 上,Python 软件包则需从仓库通过安装脚本或 pipx 安装。README 的设备表将以 QC Ultra Headphones 2 为首的六个型号标为不同程度地已验证,Ultra Open Earbuds 则依据一份设备报告标为部分支持;设备目录中的其他 BMAP 产品虽能按产品 ID 识别,但没有经过测试的配置。
  • 需要使用者自己已配对的 Bose 耳机和蓝牙适配器:Linux 上使用 BlueZ;macOS 需 10.15+,Python 库通过 PyObjC 的 IOBluetooth 绑定访问蓝牙。Rust crate 仅支持 Linux,在 Linux 上构建 C++ 版本需要 CMake、C++17 编译器和 BlueZ 开发头文件。运行时无需任何 Bose 软件或文件。
  • README 报告的方法包括探测 RFCOMM 通道、在 Bose 应用中切换设置时抓取蓝牙 HCI 通信,以及在各功能块上逐一测试操作符;NOTES.md 还引用了 Bose Android 应用中的类名。仓库中没有该应用、反编译代码或原始 HCI/网络抓包:captures/ 中是 bmap-capture.py 记录的八份设置变更前后快照,其中 MAC 地址、序列号等标识已部分遮盖;fixtures/ 中有一份供测试使用的数据包。
  • README 称项目只使用耳机无需认证即可接受的 BMAP 操作,不提取密钥、不破解加密,也不重放通信;应用须经云端认证后才能执行的写入操作仍无法使用。尚未实现 USB 控制,NOTES.md 认为 USB 接口用于固件更新。
  • CI 在 Ubuntu 和 macOS 上运行 Python、Rust 和 C++ 的测试目标,无需连接耳机;需要已配对设备的集成测试只有在启用时才会运行。本次核查未复现任何设备行为。采用 MIT 许可;未确立任何 REA 使用。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · aaronsb/bosectl · 修订 70570b2
  2. NOTES.md GitHub · aaronsb/bosectl · 修订 70570b2
  3. docs/architecture.md GitHub · aaronsb/bosectl · 修订 70570b2
  4. docs/quietcomfort-headphones-prince.md GitHub · aaronsb/bosectl · 修订 70570b2
  5. captures GitHub · aaronsb/bosectl · 修订 70570b2
  6. bmap-capture.py GitHub · aaronsb/bosectl · 修订 70570b2
  7. fixtures/README.md GitHub · aaronsb/bosectl · 修订 70570b2
  8. python/pyproject.toml GitHub · aaronsb/bosectl · 修订 70570b2
  9. rust/README.md GitHub · aaronsb/bosectl · 修订 70570b2
  10. cpp/CMakeLists.txt GitHub · aaronsb/bosectl · 修订 70570b2
  11. python/tests/test_integration.py GitHub · aaronsb/bosectl · 修订 70570b2
  12. .github/workflows/test.yml GitHub · aaronsb/bosectl · 修订 70570b2
  13. LICENSE GitHub · aaronsb/bosectl · 修订 70570b2
  14. https://github.com/aaronsb/bosectl/releases/tag/v0.5.0
  15. https://crates.io/crates/bose-bmap/0.5.0

同分区更多条目:协议

协议分区全部 42 项资源协议案例(17)