基于逆向分析原版「控车」App(kongche.apk)还原的台铃(TAILG)电动车蓝牙控制协议,做成的单文件网页版解速助手。纯前端、免安装、可离线运行。
| 文件 | 说明 |
|---|---|
解除助手.html |
解速助手本体(单文件网页 App) |
控车BLE指令还原.md |
完整协议逆向还原报告(FCC1 明文 + 85 加密两套协议、指令表、源码位置) |
kongche.apk |
原版 App 安装包(逆向分析的输入样本) |
- 安卓手机 + Chrome 浏览器(iOS 的 Safari 不支持 Web Bluetooth,无法使用)。
- 因为是蓝牙网页应用,必须在安全上下文下打开:HTTPS 链接,或本机
localhost。⚠️ 直接双击 HTML 用file://打开连不上蓝牙,必须走 HTTPS 或 localhost。
- GitHub Pages(推荐,自动获得 HTTPS):在本仓库开启 Pages 后,访问
https://crossgg.github.io/tailing_unlockspeed/解除助手.html(仓库根目录的解除助手.html即可被直接托管)。 - 任意 HTTPS 静态托管:把
解除助手.html传到任一支持 HTTPS 的静态空间。 - 本机 localhost 预览(验证 UI / 本机有 BLE 时测试蓝牙):
然后浏览器打开
cd 仓库目录 python3 -m http.server 8000http://localhost:8000/解除助手.html。 - 已部署的临时演示链接见文末(可能因托管策略失效,以 GitHub Pages 为准)。
- 车辆上电:确保电动车电门处于打开 / 上电状态(否则设备回
22000000拒绝执行)。 - 连接设备:点「连接设备」→ 系统弹出附近蓝牙列表 → 点选你的车(如
B_BCA5A)。 上方「设备名前缀」框可填过滤(留空 = 显示全部附近设备),让列表更干净。 - 选择电压(仅新模式 FCC1):默认 48V,可选 60 / 72 / 96V。 (旧模式 85 协议不需要选电压,且会自动识别车型密钥。)
- 解速 / 限速:点对应大按钮,App 会按顺序发送协议帧,并模仿原 App 的重发逻辑(约每 500ms 一次,连发数次)。
- 「🚀 解速」= 解除限速;「🐢 限速」= 恢复限速。
- 初始化设备(仅新模式):点「🔧 初始化」。
- 看日志:底部日志区实时显示收发过程与回包判读。
- 新模式(FCC1 明文):状态帧正常返回时走此通道,含选电压步骤。
- 旧模式(85 加密):当回包为
12000000时自动切换。App 会枚举服务的FFE1特征,用内置的 4 把车型密钥(保镖 BB / 安显 AX / ALT / C39)依次试探,自动识别正确密钥并提取会话 Token,再以 AES-128-ECB 加密组帧发送。界面顶部「模式」徽章会显示当前命中:新模式(FCC1)或旧模式(85)。
- 日志区右上角有调试开关(默认开):开启时显示 TX / RX 的密文与解密明文、命中密钥、Token 等完整细节;关闭时只显示摘要,便于普通用户看清结果。
- 另有复制与导出 .txt 按钮,可把完整日志发给开发者排错。
| 回包 | 含义 |
|---|---|
22000000 |
设备拒绝,需先给车上电 |
12000000 |
旧模式设备(已自动切换 85 协议) |
| 正常 20 字节状态帧 | 指令可能已生效 |
本项目仅供技术研究、学习逆向分析与个人合法拥有车辆的调试用途。请遵守当地法律法规;解除限速可能影响车辆质保与行车安全,后果自负。
此前已部署过一份在线版(HTTPS):
https://77bebdd4932643618c2924ce5f521ccd.bj2.agentos-app.net
如打不开,请以「GitHub Pages」或本仓库文件为准自行托管。