hdid 溯源实测: libhydeviceid.so设备ID, 纯代码不可铸造; 共用登录无碍仅设备维度关联风险

- df/collect 响应含40hex hdid(每次新值)但 WUP 登录拒绝(652B) -> 非同一体系
- runner.js 输出 __HDID__, get_huya_sdid 一并返回
- 文档: hdid 来源/可铸造性/共用风险评估 + 设备池方案
This commit is contained in:
yml2213
2026-08-26 11:01:50 +08:00
parent 1557760a20
commit c2d578a3e0
4 changed files with 54 additions and 7 deletions
+9
View File
@@ -19,6 +19,15 @@ libhydeviceid.so 生成 / 服务端绑定版本), 多账号时**同一 hdid+版
(它不泄露单一账号身份, 只是设备签名锚点)**; 其余字段每账号随机即可,
首次触发滑块由 solver 自动过 → 登录照常出 cred (已端到端实测)。
hdid 来源与可铸造性 (2026-08-26 实测):
- WUP 帧 t1.t0 的 hdid (32hex) = App 原生 libhydeviceid.so 生成的设备 ID
(APK 静态分析: libhydeviceid.so = 设备ID生成), 经 dfpReport 链注册。
- 换任意新值 → APP_SIGN_NOT_MATCH 硬错: 随机32hex ✗ / df.huya.com
df/collect 下发的 40hex hdid ✗ / 截断 ✗ —— 纯代码无法铸造新 hdid。
- 共用同一 hdid: 登录不受阻 (实测新账号直出 cred), 但服务端可在设备维度
关联账号; 若需真隔离, 须多台真机各采一套 {hdid, fingerprint, device_id}
建设备池轮换。
用法:
python tools/huya_device_profile.py # 生成并打印一套新画像
python tools/huya_device_profile.py <账号> # 按账号取/建画像(持久化)