案例

bluefluff:逆向分析 Furby Connect 的蓝牙低功耗协议

记录 Hasbro 玩具 Furby Connect 的蓝牙低功耗(BLE)接口;据其说明,这些内容来自对配套应用原生库的分析、BLE 流量嗅探和反复试验。文档梳理了 GATT 服务,以及玩具中 Nordic 无线芯片和 GeneralPlus 控制器的命令与响应字节,涵盖动作序列、天线颜色、情绪数值、传感器报告和一个隐藏的调试界面。fluffd 是基于 noble BLE 库的 Node.js 守护进程,通过 HTTP API 和浏览器控制页面提供这些命令。

使用条件与局限

  • 大部分研究提交集中在 2017 和 2018 年,此后只有少量修复,并于 2026 年 3 月加入了 Docker 配置。README 报告已弄清 BLE 协议的大部分内容,但动作列表尚不完整,更新包(DLC)格式只做了部分探索,代码执行、自定义 LCD 动画和睡眠面罩接口均未尝试。
  • 需要一台 Furby Connect,以及内置蓝牙低功耗或配有 USB 蓝牙 4.0+ 适配器的主机。仓库不含 Hasbro 的更新文件或应用代码,本条目也不涉及如何获取或修改这些文件。README 警告,以不当方式操作可能使玩具变砖,而且几乎必然导致失去保修。
  • README 指出 fluffd 需要 Node.js 7.0 或更高版本,并固定使用 @abandonware/noble 1.9.2-23。README 说明了 Linux(需要 libudev 开发文件和运行中的 BlueZ)和 macOS(需要 xpc-connection)的安装方法,也提到 FreeBSD 和 Windows。Docker 镜像基于 node:16-bullseye,需要使用主机网络以访问原始 HCI,仅支持 Linux 主机。
  • 这些发现是作者在未拆开玩具的情况下所记录的观察结果。仓库没有测试或 CI,本次审阅也未发送任何命令。
  • 采用 MIT 许可(2017 年,Florian Euchner);README 的免责声明称这些信息仅供教育用途。Furby Connect、其配套应用以及 Hasbro 的内容各自保留其权利。所审来源未确立 REA 或 AI 使用。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
协议

来源复核于

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

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

一手来源

  1. README.md GitHub · Jeija/bluefluff · 修订 9e865c4
  2. doc/bluetooth.md GitHub · Jeija/bluefluff · 修订 9e865c4
  3. doc/generalplus.md GitHub · Jeija/bluefluff · 修订 9e865c4
  4. doc/nordic.md GitHub · Jeija/bluefluff · 修订 9e865c4
  5. doc/actions.md GitHub · Jeija/bluefluff · 修订 9e865c4
  6. fluffd/fluffd.js GitHub · Jeija/bluefluff · 修订 9e865c4
  7. fluffd/package.json GitHub · Jeija/bluefluff · 修订 9e865c4
  8. Dockerfile GitHub · Jeija/bluefluff · 修订 9e865c4
  9. doc/docker.md GitHub · Jeija/bluefluff · 修订 9e865c4
  10. LICENSE.md GitHub · Jeija/bluefluff · 修订 9e865c4

同分区更多条目:协议

协议分区全部 28 项资源协议案例(10)