docs: HDID32(t1.t0) 固定性终审 — app版本级常量, 证据链闭环; 更正 ID_NOMENCLATURE 陈旧结论
This commit is contained in:
@@ -1635,3 +1635,16 @@ APK 内嵌: appkey 865a..c798 (datadiv 加密 .data) ──运行时解密──
|
|||||||
全流程定案总结移至 `docs/登录系统全流程定案.md`: 三库架构 / 常量总账 / 登录链 / dfpReport 链 /
|
全流程定案总结移至 `docs/登录系统全流程定案.md`: 三库架构 / 常量总账 / 登录链 / dfpReport 链 /
|
||||||
纯协议无卡点结论 + 一号一设备方案。核心: dfpReport RC4 key = APK 内嵌常量 (datadiv@3912240),
|
纯协议无卡点结论 + 一号一设备方案。核心: dfpReport RC4 key = APK 内嵌常量 (datadiv@3912240),
|
||||||
纯协议登录链 (dfp_register → app_login) 已无设备依赖。
|
纯协议登录链 (dfp_register → app_login) 已无设备依赖。
|
||||||
|
|
||||||
|
### HDID32(t1.t0) "固定与否" 终审 (2026-08-29, 证据链)
|
||||||
|
问题缘起: R14 时代结论"设备级值/服务端硬锚/纯Python不可铸"与 R15 定案"app 版本级常量"并存,
|
||||||
|
文档表述不一致。终审证据链:
|
||||||
|
1. 真机抓包 (虎牙App密码登录-WUP明文抓包.md): field1{tag0=ed0db8, tag1="13.4.22"(App版本),
|
||||||
|
tag2=SDK版本, tag5=厂商} — t1.t0 与 app 版本同结构体
|
||||||
|
2. R15 公式逐字节复现: md5("5008_13.4.22_" + k1) = ed0db8334cadd236c00cadf7e11ab5a5
|
||||||
|
3. k1 = datadiv 内嵌编译期常量 (R39 字符串表实测), base.apk 内 libhydeviceid.so 全用户相同
|
||||||
|
→ 公式输入 (appId, appVersion, k1) 全部为 app 版本级, 无任何设备硬件输入
|
||||||
|
4. 实弹: 7+ 个不同虚拟设备账号用同一 ed0db8 登录全部成功 → 服务端不校验设备维度
|
||||||
|
结论: **HDID32 对同一 App 版本的所有设备是同一固定值; 不是设备级标识;
|
||||||
|
App 版本升级时按公式重算 (k1 若随新 APK 变化则从新包 datadiv 重提取)**。
|
||||||
|
"服务端硬锚/设备级/不可铸"均为 R14 陈旧结论, 见 HUYA_ID_NOMENCLATURE.md (已更正)。
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
| 规范名 | 长度 | 含义 | 出现位置 | 签发方 | 可铸性 |
|
| 规范名 | 长度 | 含义 | 出现位置 | 签发方 | 可铸性 |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| **GUID32** | 32hex | doLaunch 响应的 sGuid(launch 体系) | 登录外的启动注册;HySignalGUIDCache.xml | 服务端(按 MID16 确定性签发) | ✅ 已打通(铸币机) |
|
| **GUID32** | 32hex | doLaunch 响应的 sGuid(launch 体系) | 登录外的启动注册;HySignalGUIDCache.xml | 服务端(按 MID16 确定性签发) | ✅ 已打通(铸币机) |
|
||||||
| **HDID32** | 32hex | 登录帧 t1.t0 的 设备证书(登录体系) | WUP 登录请求 t1.t0;native 内存 | native 私钥(libhydeviceid) | ❌ 纯 Python 不可铸 |
|
| **HDID32** | 32hex | 登录帧 t1.t0 的 appSign(登录体系) | WUP 登录请求 t1.t0;native 内存 | **app 版本级常量 (R15 定案)**: md5("5008_" + appVersion + "_" + k1),k1 = libhydeviceid datadiv 内嵌常量 (R39);同版本所有设备同值,随 appVersion 变化按公式重算 | ✅ 纯 Python 可算 |
|
||||||
| **DEVID40** | 40hex | 登录帧 t2.t8 / 注册链 t5 的 device_id | WUP 登录 t2.t8、dfpReport 响应 t5、库 getHDID | 服务端(dfpReport 解密 cw 后签发)或库内生成 | ✅ 注册链可铸 |
|
| **DEVID40** | 40hex | 登录帧 t2.t8 / 注册链 t5 的 device_id | WUP 登录 t2.t8、dfpReport 响应 t5、库 getHDID | 服务端(dfpReport 解密 cw 后签发)或库内生成 | ✅ 注册链可铸 |
|
||||||
| **CDID40** | 40hex | CDID(库 getCDID) | 登录帧 fingerprint 附近 / 库内 | libhydeviceid | unidbg 可调 |
|
| **CDID40** | 40hex | CDID(库 getCDID) | 登录帧 fingerprint 附近 / 库内 | libhydeviceid | unidbg 可调 |
|
||||||
| **MID16** | 16hex | mid(LiveUserbase→tUAEx→t5=sMId) | doLaunch 请求、库 getMID | 设备(可任意铸) | ✅ 任意 16hex |
|
| **MID16** | 16hex | mid(LiveUserbase→tUAEx→t5=sMId) | doLaunch 请求、库 getMID | 设备(可任意铸) | ✅ 任意 16hex |
|
||||||
|
|||||||
Reference in New Issue
Block a user