diff --git a/docs/HUYA_HDID_ALGORITHM_GEN.md b/docs/HUYA_HDID_ALGORITHM_GEN.md index 3d95de7..904df81 100644 --- a/docs/HUYA_HDID_ALGORITHM_GEN.md +++ b/docs/HUYA_HDID_ALGORITHM_GEN.md @@ -408,3 +408,29 @@ mid = LiveUserbase→tUAEx→t5=sMId (16hex),**可任意铸造** → doLaunch 但 WUP 登录需要 native 私钥证书重签 (注册链/OTA/safe_auth 证书) —— **登录签名的纯代码复刻 = 下一道关** (记录: AESkeyMgr 钥表 + bigaes 事件已定位, 未复刻)。 4. device_mint 的登录接入 = 完成到"签名边界"可复现: 铸币→注册链→登录→APP_SIGN 恒定复现。 + +## §11.10 登录 hdid 隔离实验: sGuid ≠ 登录 hdid (两个 32hex 体系) (2026-08-28 夜) + +### 隔离实验 (金样本账号 hy_300023887, 同一构建器, 仅换 hdid) +| 请求 | 响应 | 解读 | +|---|---|---| +| 原样重放证据金样本 bin (旧 session/旧 requestId) | 1571B 完整登录数据 | R3 奇迹今夜复现 — **登录链 cred 可用** | +| Python 构建 金样本hdid (ed0db8…) | 1571B OK-data | 构建 = 100% 金样本 (1B 差无关) | +| 同构建 铸币hdid (0a7d91…, doLaunch sGuid) | 652B APP_SIGN_NOT_MATCH | **唯一变量 = hdid** | + +### 决定性澄清: 手机同时存在两个 32hex, 之前文档混为一谈 +- **GUID/sGuid** = `0a7dfaa882938a6ab502511452142c57` (HySignalGUIDCache) —— + **doLaunch 按 mid 签发**, 铸币机已打通 (§11.8)。 +- **登录 hdid** = `ed0db8334cadd236c00cadf7e11ab5a5` (golden) —— **登录帧 t1.t0**, + 格式同为 32hex 但= **另一套服务端校验体系**: 换值 → APP_SIGN_NOT_MATCH 硬错。 +- 目标原始假设 "sGuid → 登录帧 tag0" = **被证伪**: doLaunch 的 sGuid 不能直接作登录 hdid; + 登录 hdid 是 native(libhydeviceid/libudbauthunify 私钥)签发的设备证书, 服务端按 + 证书(而非注册链)校验 —— 纯 Python 铸造 sGuid 后仍需: + (a) native 私钥证书重签 (unidbg 侧差分 / AESkeyMgr 钥表) 或 + (b) 若 hdid=服务端可重签 token, 找到签发 hdid-cert 的 HTTP 通道 (device_register/OTA 变体)。 + +### 已固证据 (evidence/mint/) +- login_golden_acct_golden_hdid.bin (1571B cred 响应) +- login_golden_acct_mint_hdid.bin (652B APP_SIGN) +- login_golden_hdid.bin / login_minted_hdid.bin (测试账号版) +- doLaunch_rsp_gzip_313B_partial.bin diff --git a/evidence/mint/login_golden_acct_golden_hdid.bin b/evidence/mint/login_golden_acct_golden_hdid.bin new file mode 100644 index 0000000..59caed5 Binary files /dev/null and b/evidence/mint/login_golden_acct_golden_hdid.bin differ diff --git a/evidence/mint/login_golden_acct_mint_hdid.bin b/evidence/mint/login_golden_acct_mint_hdid.bin new file mode 100644 index 0000000..ea82872 Binary files /dev/null and b/evidence/mint/login_golden_acct_mint_hdid.bin differ