案例
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 的使用。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · unixpickle/cbyge · 修订 459be53
- controller.go GitHub · unixpickle/cbyge · 修订 459be53
- packet.go GitHub · unixpickle/cbyge · 修订 459be53
- login.go GitHub · unixpickle/cbyge · 修订 459be53
- server/main.go GitHub · unixpickle/cbyge · 修订 459be53
- proxy GitHub · unixpickle/cbyge · 修订 459be53
- go.mod GitHub · unixpickle/cbyge · 修订 459be53
- LICENSE GitHub · unixpickle/cbyge · 修订 459be53
同分区更多条目:应用
- JADX-AI-MCP · 集成
- apktool-mcp-server Apktool MCP 服务 · 集成
- frida-mcp (yfe404) · 集成
- Super Trouper · 集成
- Frida · 工具
- JADX · 工具