feat(huya): §11.11 标识符全清单去混 - 登录hdid(L1)与GUID(G1)体系无关定论(手机自身GUID也被拒), 32hex-hdid生成函数未定位
- 决定性实验: hdid=0a7dfa(手机当前GUID)→APP_SIGN / ed0db8→1571B cred - 清单: G1/L1/D1/D2/D3/M1 六标识符逐一核实来源与可铸性
This commit is contained in:
@@ -442,3 +442,33 @@ mid = LiveUserbase→tUAEx→t5=sMId (16hex),**可任意铸造** → doLaunch
|
|||||||
- 推论: hdid-cert = 设备首次初始化时 native(私钥)签名 + 服务端侧存档;
|
- 推论: hdid-cert = 设备首次初始化时 native(私钥)签名 + 服务端侧存档;
|
||||||
服务端按"该 hdid 是否存在于注册设备库"校验 (APP_SIGN)。无上行明文通道可抓,
|
服务端按"该 hdid 是否存在于注册设备库"校验 (APP_SIGN)。无上行明文通道可抓,
|
||||||
纯代码复刻 = 需 unidbg 重放 native 签名 (AESkeyMgr/bigaes 钥表线索已记录)。
|
纯代码复刻 = 需 unidbg 重放 native 签名 (AESkeyMgr/bigaes 钥表线索已记录)。
|
||||||
|
|
||||||
|
## §11.11 标识符全清单与去混 (2026-08-28 夜, 用户要求彻底厘清)
|
||||||
|
|
||||||
|
### 设备上/证据中的全部 hex 标识 (逐一核实)
|
||||||
|
| # | 值 | 长度 | 角色 | 来源/渠道 | 可铸造? |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| G1 | `0a7dfaa882938a6ab502511452142c57` | 32 | **GUID/sGuid**: HySignalGUIDCache.xml + hysignalconfigcache 双处一致 | doLaunch 按 mid 签发 (mid=1e8bdf7d=手机当前mid) | ✅ **可铸** (§11.8) |
|
||||||
|
| L1 | `ed0db8334cadd236c00cadf7e11ab5a5` | 32 | **登录 hdid** (WUP hypasswordLogin t1.t0) = GOLDEN | native 生成 + setDeviceInfo 上报, 不上行明文 (§11.10) | ❌ **纯Python不可铸** |
|
||||||
|
| D1 | `5b434c778490889697170e225029f56aff19ca47` | 40 | HYSIGNAL_DEVICE_ID_KEY (当前手机) | hysignal 缓存 | ? (未研究) |
|
||||||
|
| D2 | `7c5387e0539c023c31c4ff0e807e7256117385ee` | 40 | 登录帧 t2.t8 device_id (GOLDEN) = 库 getHDID 期望 | libhydeviceid getHDID@0x20f0c8 | unidbg 可调 |
|
||||||
|
| D3 | `02df398797432eadefcc12767119ad5e80999389` | 40 | CDID (库 getCDID 期望) | libhydeviceid | unidbg 可调 |
|
||||||
|
| M1 | `1e8bdf7d4f7a01d3` | 16 | mid (库 getMID 期望 = 手机当前 mid = 铸币默认 mid) | libhydeviceid getMID@0x20fba8 | ✅ 可铸 (任意16hex) |
|
||||||
|
|
||||||
|
### 当前在搞哪一个 (定论)
|
||||||
|
**登录帧 t1.t0 的 32hex hdid (L1)** —— 它就是目标。决定性实验 (金样本账号,
|
||||||
|
仅换 hdid): 手机当前 GUID (G1) 作 hdid ❌ 被拒; 金样本 hdid (L1) ✅ 出 cred。
|
||||||
|
|
||||||
|
### 已完成 / 未完成
|
||||||
|
- ✅ doLaunch 铸币机: sGuid (G1 系) = f(mid), 确定性, live 多次复现
|
||||||
|
- ✅ 零设备注册链: 每账号新鲜 action/device_id (t2/t5)
|
||||||
|
- ✅ 登录管线: 金样本 hdid + 新鲜 action → 1571B cred (纯 Python 出 cred 全链路通)
|
||||||
|
- ❌ **登录 hdid (L1) 的纯代码铸造**: 与 GUID 无关 (手机自己的 G1 也被拒);
|
||||||
|
它只存在于登录帧 + native 内存 (setSafeDeviceId), 无 HTTP 签发通道 (§11.10 全链路不可见)
|
||||||
|
- ❌ unidbg 重放 32hex-hdid 生成: 库已定位 getGUID/getCDID/getHDID(40hex)/getMID,
|
||||||
|
**32hex 登录-hdid 的生成函数尚未定位** (getHDID 是 40hex, 非登录 hdid)
|
||||||
|
|
||||||
|
### 下步(未完成工作)
|
||||||
|
1. libhydeviceid 内定位 32hex-hdid 生成函数 (unidbg 枚举 32hex 返回的导出/偏移)
|
||||||
|
2. 若存在: 输入=?(androidId/config/MID 模型已有) → 铸币设备独立 hdid → 登录
|
||||||
|
3. 若不存在: 登录 hdid = 设备级私钥证书, 纯代码不可达 → 每账号独立设备需真机/模拟器池
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user