feat(ppclock): 离线激活 keygen(ror2 公式+EFEF 反解 MAC)+ activate --auto;docs 终稿(firmware-analysis/protocol/PROGRESS),132 测试全绿
This commit is contained in:
1 parent
bed8973551
commit
6615696c2d
8 files changed
+465
-24
No files matched your search
+10
-8
@@ -132,15 +132,17 @@ ASCII UTF-8 直发:`WIFI_SSID:{ssid};WIFI_PASS:{pass};CITY:{城市代码}`(
|
||||
4. 操作:模式切换(+`e2`)/ 传图(`EA0{slot}` → 数据块×N → `01`/`AA`)/ 倒计时 / WiFi。
|
||||
5. 断线自动重连 ≤5 次。
|
||||
|
||||
## 7. 本地化(去云)清单
|
||||
## 7. 本地化(去云)清单 —— 已全部解决
|
||||
|
||||
| 云依赖 | 本地化方案 |
|
||||
|---|---|
|
||||
| key_generator.php 激活码 | 分析固件校验逻辑(见 docs/firmware-analysis.md),本地实现算法或固件补丁绕过 ⚠待固件分析 |
|
||||
| file_down.php 固件下载 | 固件已本地存档 app/;SUOTA 由 `ppclock ota` 实现(§9) |
|
||||
| qbsg.top 自助激活 | 同上激活方案 |
|
||||
| 天气(CITY 代码) | 本地化=不依赖天气;CLI 提供 `wifi-config` 透传 |
|
||||
| qrcodejs CDN(模板用) | CLI 用本地 qrcode 库 |
|
||||
| 云依赖 | 本地化方案 | 状态 |
|
||||
|---|---|---|
|
||||
| key_generator.php 激活码 | **本地 keygen**:`code[i]=ror2(((MAC[i]<<1)&0xFF)^0xEF)%101`(firmware-analysis §4.2);`ppclock activate --auto` 经 EFEF 反解 MAC 自动完成;且固件侧 EF 不门禁任何命令 | ✅ 已实现 |
|
||||
| file_down.php 固件下载 | 固件本地存档 `app/`;`ppclock ota` 本地升级(SUOTA 经 0x221F 服务,firmware-analysis §5) | ✅ 已实现 |
|
||||
| qbsg.top 自助激活 | 同 keygen | ✅ |
|
||||
| 天气(CITY 代码) | 原厂云功能,本地化范围外;`wifi` 命令仅透传。注意:**本固件 WIFI 命令为 no-op**(firmware-analysis §3.3) | ⚠ 固件未实现 |
|
||||
| qrcodejs CDN(模板用) | CLI 本地 qrcode 库 | ✅ |
|
||||
|
||||
**固件侧 no-op 命令**(Web 端发送但本固件版本忽略,CLI 保留前向兼容):`E9xx` 轮播间隔、`EA0x` 槽位/`EA000x` 轮播数量、WIFI 配置(firmware-analysis §3.3 分发器跳表)。
|
||||
|
||||
## 9. SUOTA 固件升级(证据:APK §e)
|
||||
|
||||
|
||||
Reference in new issue
Block a user