From b62ba48db7ea5547b90e9c29963666cbeae73894 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Fri, 28 Aug 2026 23:46:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(huya):=20=E6=A0=87=E5=87=86AES=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4(SBOX=E9=80=90=E5=AD=97=E8=8A=82=E4=B8=80=E8=87=B4)=20?= =?UTF-8?q?+=20=E7=88=86=E7=A0=B4=E6=80=BB=E7=9F=A9=E9=98=B5=E8=AF=81?= =?UTF-8?q?=E4=BC=AA=20-=20HDID32=3D=E6=A0=87=E5=87=86AES=E5=AF=86?= =?UTF-8?q?=E6=96=87=E4=BD=86=E9=92=A5=E6=9D=90/=E6=98=8E=E6=96=87/?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=9C=AA=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - UdbAESUtil盒表=标准SBOX/INV-SBOX, KeyExpansion列主序Nk=6 - 88组合爆破零命中 → 下一轮unidbg差分或静态读encrypt路径 --- docs/HUYA_HDID_ALGORITHM_GEN.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/HUYA_HDID_ALGORITHM_GEN.md b/docs/HUYA_HDID_ALGORITHM_GEN.md index 85a4dde..d05e6e7 100644 --- a/docs/HUYA_HDID_ALGORITHM_GEN.md +++ b/docs/HUYA_HDID_ALGORITHM_GEN.md @@ -558,3 +558,21 @@ encode_aes(IN:std::string&, KEY:std::string&, OUT:std::string&) ### 下步 (定位派生) A. unidbg 调 encode_aes(in, key) → 输出对拍 (可控输入差分) B. 静态读 UdbAESUtilC1/KeyExpansion(0x24ebd4) 取派生规则 → Python 复刻 + +## §11.15 标准 AES 确认 + 爆破全证明伪 (2026-08-28 夜) + +### SBOX 对照实验 +UdbAESUtil 的盒表 @0x1c5d8e (SBOX) + @0x1c5e8e (INV-SBOX) = **标准 AES 盒** (逐字节一致)。 +→ 自研代码 = 标准 AES 的重实现 (非变异)。KeyExpansion@0x24ebd4 列主序装载 (Nk=6 → AES-192)。 + +### 爆破总矩阵 (全部零命中, 对照 ed0db8) +| 维度 | 变体 | +|---|---| +| 钥 | 24B 原文 / 列转置 / base64 解码 18B→补丁 / md5(钥) / … × 9 键 | +| 模式 | ECB / CBC-zeroIV | +| 明文 | md5(aid/mid/aid+cfg/…), sha1, aid-bytes, cfg-b64[:16], mid-bytes … × 11 | +**结论: 32hex-HDID32 = 标准 AES 密文, 但 钥材料/明文序列化/模式 三者未定。** + +### 下步 (决定性二选一) +A. **unidbg 调 encode_aes(IN, KEY) → OUT**: 可控输入差分, 直接对拍 ed0db8 + 反推钥/明文 +B. **静态读完整 encrypt 路径** (0x24f9f0 _encrypt + Cipher@0x24f314): 明文源 + 模式 + 派生