Aperturesurvivor/openwyzeband

GitHub: Aperturesurvivor/openwyzeband

一个实验性的开源工具包,通过系统化采集和分析 BLE 通信数据来逆向工程 Wyze Band 智能手环的私有协议。

Stars: 0 | Forks: 0

# openwyzeband 一个用于 Wyze Band 的实验性开源逆向工程工具包。 该项目目前处于暂停状态,因为测试手环无法与其手机可靠配对。其预期目标仍然是提供一条完全开放的路径,用于直接控制显示屏并接收实时传感器数据。项目记录和计划的方法记录在 。 首要目标不是猜测协议。而是收集干净的 BLE 证据: - 查找 Wyze Band 广播 - 枚举服务和特征 - 订阅通知 - 记录读取、写入和通知 payload - 重放受控实验,以便安全地记录协议 仅对您拥有或获得明确测试许可的设备使用此工具。 ## 安装说明 ``` cd openwyzeband python3 -m venv .venv source .venv/bin/activate pip install -e . ``` 在 macOS 上,请为您使用的终端应用授予 Bluetooth 权限。 ## 运行 openwyzeband 扫描附近的 BLE 设备: ``` openwyzeband scan ``` 导出匹配设备的 GATT 服务: ``` openwyzeband dump --name Wyze ``` 记录所有可读值和通知: ``` openwyzeband observe --name Wyze --duration 120 --out captures/observe.jsonl ``` 在 `observe` 期间,使用 Wyze app 或手环 UI 每次触发一个操作: - 在 Wyze app 中打开 Wyze Band 屏幕 - 同步健康数据 - 开始或停止心率测量 - 使用“查找手环” - 更改设置 - 接收通知 每个操作都应在各自独立的简短捕获中重复进行。这使得构建协议映射变得容易得多。 ## 项目结构 - `src/openwyzeband/cli.py`:命令行入口 - `src/openwyzeband/ble.py`:BLE 扫描/连接/读取/通知辅助工具 - `docs/recon-plan.md`:分阶段逆向工程计划 - `docs/android-hci-capture.md`:官方 app 捕获工作流 - `docs/ios-bluetooth-capture.md`:iPhone 捕获工作流 - `docs/protocol-notes.md`:协议工作笔记 - `scripts/wireshark_att_csv_to_jsonl.py`:将 Wireshark ATT CSV 导出文件转换为 JSONL - `scripts/find_ios_bluetooth_logs.py`:在 iOS sysdiagnose 存档中定位 Bluetooth 日志 ## 近期里程碑 1. 识别广播名称、制造商数据、服务和特征 UUID。 2. 将特征标记为读取、写入、通知、指示或控制。 3. 捕获已知用户操作产生的 app 到手环流量。 4. 解码稳定的字段,如电池、时间同步、步数、心率和振动。 5. 发布一个包含类型化命令和实时通知解析的微型库。
标签:文档结构分析, 逆向工具