案例

cbyge:重建 C by GE 智能灯泡云端协议

以 Go 库和一个可自行部署的小型网页应用,重新实现 C by GE(现名 Cync)智能灯泡应用的云端控制通道。作者称先用 Apktool 反编译 Android 应用,找到用于登录和设备列表的 JSON HTTP 接口,以及另一条连接厂商服务器的原始 TCP 协议,再结合代理记录的通信和 Smali 代码,推断出该协议以类型和长度开头的消息格式及各类数据包编码。最终的 API 可列出设备、读取状态,并设置开关、亮度、色温和 RGB 颜色。

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

使用条件与局限

  • 审阅对象为 2021-11-09 的 main 提交,没有发布版。README 声明代码并非依据协议规范编写,可能失效,也可能在某些网络或设备上无法工作。作者只研究了自己拥有的灯泡,同一应用可控制的插座、传感器和开关均未逆向;本次也未核实当前 Cync 服务是否仍接受该客户端。
  • 需要用户自己的 C by GE 或 Cync 账号,且设备已在官方应用中完成设置;较新的账号需通过邮箱双重验证登录,可由网页应用或 login_2fa 命令完成。控制经由厂商云端,而非本地蓝牙或局域网。Android 应用、通信抓包和账号数据都不在仓库中;README 只引用了少量 Smali 片段和一条来自作者设备的状态数据包。
  • 使用 Go 构建;go.mod 声明 Go 1.14 和两个小型依赖。server 目录提供浏览器前端和 JSON API,可选设置网页密码保护;仓库还保留了调查期间使用的小型 TCP 与 HTTP 记录代理。
  • 仓库没有测试或 CI。README 称已有其他人在部分情况下成功使用该 API,作者也认为它比官方应用更快、更可靠;本次审阅既未运行该库,也未运行服务器。
  • 采用 BSD-2-Clause 许可,版权归 Alexander Nichol(2021)。这是独立客户端,并非恢复出的厂商源码;厂商的应用、服务和商标保留各自权利,所审来源未确立任何 AI 或 REA 的使用。

关于此条目

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

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

一手来源

  1. README.md GitHub · unixpickle/cbyge · 修订 459be53
  2. controller.go GitHub · unixpickle/cbyge · 修订 459be53
  3. packet.go GitHub · unixpickle/cbyge · 修订 459be53
  4. login.go GitHub · unixpickle/cbyge · 修订 459be53
  5. server/main.go GitHub · unixpickle/cbyge · 修订 459be53
  6. proxy GitHub · unixpickle/cbyge · 修订 459be53
  7. go.mod GitHub · unixpickle/cbyge · 修订 459be53
  8. LICENSE GitHub · unixpickle/cbyge · 修订 459be53

同分区更多条目:应用

应用分区全部 136 项资源应用案例(48)