From 5a981439aaa1aac312021ac5d3177feb015372c0 Mon Sep 17 00:00:00 2001 From: agent Date: Wed, 29 Jul 2026 05:57:22 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=85=A8=E9=87=8F=E7=83=A7=E5=BD=95?= =?UTF-8?q?=E5=AE=9E=E8=AF=81=E8=AE=B0=E5=BD=95=E2=80=94=E2=80=94=E7=8A=B6?= =?UTF-8?q?=E6=80=8120=20=E4=BA=A7=E5=93=81=E5=A4=B4=E9=97=A8=E7=A6=81?= =?UTF-8?q?=E5=AE=9A=E6=A1=88=EF=BC=88=E7=95=99=E8=AF=81=20suota-flash-log?= =?UTF-8?q?.jsonl=EF=BC=89=EF=BC=8C=E8=AE=BE=E5=A4=87=E9=9B=B6=E9=A3=8E?= =?UTF-8?q?=E9=99=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/field-test-result.md | 10 ++++++++-- docs/suota-flash-log.jsonl | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/field-test-result.md b/docs/field-test-result.md index 91a7252..78b3709 100644 --- a/docs/field-test-result.md +++ b/docs/field-test-result.md @@ -42,9 +42,15 @@ | 传输 | 三轮"首块前静默停滞" | **asyncio StreamReader 64KiB 行限制**,144KB 镜像请求永不到达(build 9: limit=4MiB) | | 协议 | 状态码 16 误杀 | 固件反汇编实证 = MEM_DEV type 0x13 信息应答(0x07FCB770),build 10 按信息码处理 | | 引脚 | 块1 状态 22(0x38000 读失败) | GPIO_MAP 字节序错误;探针实证 **BE 序 {05,06,00,40} 电气有效**(已固化为服务端默认) | -| 门禁 | 状态 20(产品头无效) | **设备 0x38000 无有效 'pR' 产品头**(裸 'pQ' 直启),固件中止首缓冲处理——vendor 级设计,强推有砖险,**用户决策安全收尾** | +| 门禁 | 状态 20(产品头无效) | **设备 0x38000 无有效 'pR' 产品头**(裸 'pQ' 直启),固件中止首缓冲处理——vendor 级设计 | -设备全程零风险(探针均 max_blocks=2 安全模式,不发 END)。 +**全量烧录实证(用户授权 2026-07-29,留证 docs/suota-flash-log.jsonl)**:mem_dev_ok → 16(信息)→ gpio_map_ok → 块1 发送 → 状态 20 → 安全中止(写 flash 前终止,零写入)。结论:阻断确为 0x38000 产品头缺失/无效,非引脚误读。 + +**vendor 目录逆向(路线 1)**:qbsg.top /api/firmware/catalog 免认证开放;PP_da14585_4.2_CH.img 与本机镜像 sha256 完全一致(vendor OTA 镜像=本镜像,无产品头附加);NEW 变体同检 0x38000。 + +**解法路线(遗留 K4)**:①JTAG/UART 写产品头 ②逆向 vendor 付费激活流程(PP_da14585_4.2_NEW 的 activation 疑含产品头写入路径,libapp.so Rust secp256k1/AES)③评估 vendor 原始 OTA 在同类裸启设备上是否同败(vendor 级缺陷)。 + +设备全程零风险(门禁在写 flash 前中止;END/复位信号从未发出)。 ## 已知问题 diff --git a/docs/suota-flash-log.jsonl b/docs/suota-flash-log.jsonl index 21e2712..fa63e05 100644 --- a/docs/suota-flash-log.jsonl +++ b/docs/suota-flash-log.jsonl @@ -1 +1,7 @@ -{"kind": "run_start", "image": "analysis/firmware/fw_tst.img", "gpio": "05060040", "authorization": "用户授权 2026-07-29(DECISIONS.md)", "ts": "2026-07-29T05:27:57.656"} +{"kind": "run_start", "image": "analysis/firmware/fw_tst.img", "gpio": "05060040", "authorization": "用户授权 2026-07-29(DECISIONS.md)", "ts": "2026-07-29T05:34:52.990"} +{"kind": "connected", "device": "18:BC:5A:5D:BF:28", "attempt": 1, "ts": "2026-07-29T05:35:26.042"} +{"kind": "event", "el": 34.25, "msg": {"event": "ota_stage", "stage": "mem_dev_ok"}, "ts": "2026-07-29T05:35:27.392"} +{"kind": "event", "el": 35.25, "msg": {"event": "ota_stage", "stage": "mem_dev_status", "codes": [16]}, "ts": "2026-07-29T05:35:28.385"} +{"kind": "event", "el": 36.05, "msg": {"event": "ota_stage", "stage": "gpio_map_ok"}, "ts": "2026-07-29T05:35:29.192"} +{"kind": "event", "el": 37.64, "msg": {"event": "ota_block_sent", "block": 1, "total": 301}, "ts": "2026-07-29T05:35:30.779"} +{"kind": "event", "el": 39.38, "msg": {"id": 1, "ok": false, "error": "RuntimeError: 块 1/301 失败: 状态码 20"}, "ts": "2026-07-29T05:35:32.522"}