diff --git a/docs/HUYA_HDID_ALGORITHM_GEN.md b/docs/HUYA_HDID_ALGORITHM_GEN.md index 1212e20..1aabe73 100644 --- a/docs/HUYA_HDID_ALGORITHM_GEN.md +++ b/docs/HUYA_HDID_ALGORITHM_GEN.md @@ -1267,3 +1267,21 @@ dfpReport: tReq = [10B 魔数 57 18 82 cf 66 4b b3 94 01 ee][3988B 加密采 - A: mfa onLoad 空槽批量补丁 (0x48000-0x48a90 全槽扫描, 非零即赋 dummy) 冲过初始化 - B: ga JNI_OnLoad 反汇编解栈构建注册表 (RegisterNatives 调用参数恢复) - C: 重置方向 — 解析已捕获 7 样本的 nonce/计数位规律 (零依赖纯分析) + +--- + +## §11.54 R24: C线纯分析终局 — 密钥流每次独立 + 头部字段解码 (2026-08-29) + +### 7 样本对分析结论 +1. **同 nonce 组 (f2/0647 头13B相同) 异或 = 98.6% 随机差** (共享散点41个≈期望15, 无ASCII结构) + -> **密钥流每次运行独立 (防重放), 同头≠同密钥; 头部非密钥** +2. LCP 分组: GOLDEN=2B(版本位01) / f1-f2-0647=10B / f2-0647=13B — 分歧从 byte10 +3. byte2 版本位: 01(golden原始注册) / 11(今日重注册) / 13 — 疑重注册计数/模式 +4. **byte6-7 = 运行秒数低16位** (39944/39976/39988/40392 ≈ 40s-uptime!) — 报告时刻微秒窗 +5. 库内无格式常量/无gzip/zlib魔数 (bb80@turingga-0x11599=巧合) + +### 判定 +- 密文 = 每次独立的密钥流 (真防重放); 头16B = 加密元数据块(版本+计时+填充) +- **纯样本分析无法破** (无密钥派生链); 密钥源 = getDfpConfig 81B 服务端下发镜钥 + 设备材料 +- 破解必须回到加密内核: A (harness onLoad 空槽冲关) / B (ga JNI_OnLoad 注册表反汇编) +- 已获价值: 报告时刻可判定 (头 byte6-7 ≈ uptime-ms), 版本/重注册模式可区分