diff --git a/docs/HUYA_HDID_ALGORITHM_GEN.md b/docs/HUYA_HDID_ALGORITHM_GEN.md index 165755a..b4effe8 100644 --- a/docs/HUYA_HDID_ALGORITHM_GEN.md +++ b/docs/HUYA_HDID_ALGORITHM_GEN.md @@ -597,3 +597,21 @@ B. **静态读完整 encrypt 路径** (0x24f9f0 _encrypt + Cipher@0x24f314): 明 ### 对比结论 标准 AES-192-ECB(同一输入+24B钥) = b1e3abcc… ≠ 原生 ba3fb8f1… — **原生 AES 变体 (64B 钥材料 + 自定义扩展)**。 华生线索: 原生输出对「输入块内含 NUL 的 64B 钥」敏感 — 下一轮 = Nk 分支 + Cipher 轮结构静态定案 → Python 复刻。 + +## §11.17 hyudb_otp_encrypt 组合链解码 (2026-08-28 夜) + +### 0x32fa24 (hyudb_otp_encrypt) 组件链 +``` +cred_packls(…多个字段打包) ← 请求材料构建 +xxtea_encrypt @0x457e60 ← XXTEA 层 +AESkeyMgrC2 → AESkeyMgr::getkey(int,int) ← 双 id 取钥 +string-insert(钥) + md5_char16 ← 32hex 材料 (MD5-hex 32 字符!) +UdbAESUtilC1 + encrypt ← AES 层 +``` +### 32hex 生成假设 +- md5_char16 = 32 字符 MD5-hex — **与 HDID32 的 32hex 形态吻合** (候选公式候选) +- md5(钥)/md5(钥+域) 组合爆破 → 与 ed0db8 仍零命中 (材料=getkey 双 id 产物 + cred_pack 序列化, 未定) + +### 工作台状态 (本轮新增) +- tools/unidbg/hydev/src/hydev/AesProbe.java: encode_aes 差分源 (已验证) +- 子代理: 静态复刻 KeyExpansion/Cipher → Python (验证目标 = 探针 3 向量)