案例

DJI MIMO BLE 逆向素材:重建 DJI Osmo 控制协议

记录 DJI 专有 MIMO 应用用于控制 DJI Osmo 设备的低功耗蓝牙报文格式,是作者在开发独立 CLI 工具 djictl 时产出的逆向工程素材。作者依据自己手机的蓝牙日志推断出报文结构——魔数、长度、协议版本、头部 CRC8、子系统与消息 ID 字段、载荷以及消息 CRC16——并提供一个 Wireshark 解析插件和一份带注释的消息类型目录。许多消息类型被标注为推测或未知;作者报告在 DJI Osmo Pocket 3 上实现了可用的直播推流后暂停了进一步分析。

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

使用条件与局限

  • 在 2025-06-08 的 main 分支最新提交处审阅。该仓库是一组逆向工程笔记,而非可运行的应用:配套工具 djictl 位于另一个独立仓库,本次核查未对其评估。README 描述的是 DJI Osmo Pocket 3,未声称覆盖其他 DJI Osmo 型号。
  • 方法使用使用者自己的 Android 手机:README 通过 adb 错误报告导出蓝牙 HCI 抓包日志,再用 Wireshark 打开。本仓库既不收录也不要求任何 DJI 固件、应用二进制或账号,除一张 Wireshark 截图外也未包含抓包日志。
  • mimo/ble/message_types.md 为约二十余种消息类型列出带注释的样本帧,mimo/ble/wireshark-dissector/ 中的 Wireshark 解析插件将消息类型编码映射为名称;许多条目带有问号或标为未知,因此该目录是部分、经作者解读的内容,而非完整规范。
  • 构建解析插件需要 Wireshark 开发头文件、pkg-config 以及 C 编译器;其 Makefile 会将共享库插件安装到 Wireshark 4.2 的插件目录。笔记仅记录协议观察;本次核查既未运行插件,也未连接任何设备。
  • 仓库采用 CC0-1.0(公有领域贡献)许可。DJI、MIMO 与 Osmo 仍为其权利人的商标;所审阅来源未确立任何 AI 或 REA 使用。

关于此条目

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

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

一手来源

  1. README.md GitHub · xaionaro/reverse-engineering-dji · 修订 5c9278f
  2. mimo/ble/message_types.md GitHub · xaionaro/reverse-engineering-dji · 修订 5c9278f
  3. mimo/ble/wireshark-dissector/dji-ble-message.c GitHub · xaionaro/reverse-engineering-dji · 修订 5c9278f
  4. mimo/ble/wireshark-dissector/Makefile GitHub · xaionaro/reverse-engineering-dji · 修订 5c9278f
  5. LICENSE GitHub · xaionaro/reverse-engineering-dji · 修订 5c9278f

同分区更多条目:协议

协议分区全部 66 项资源协议案例(26)