# 虎牙网页 Cookie 缺失字段补齐方案(2026-09-01 晚) > 目标:账号 19507362959(DB id=58,yyuid=1199664135026)跑通精英宝典 WSS > query_game_name(checkUserBindGameAccount)/ query_points(getUserScore)。 > 当前账号 cookie 仅 16 字段(登录凭据),对比 9.1 抓包 42 字段缺 26 个。 > 本文档按"浏览器实测来源 → 生成方案"逐字段确定,重点分析 4 个核心设备字段。 ## 一、背景结论(已有证据) - 9.1 抓包(2026-09-01 09:36)42 字段 cookie:`guid/game_did/_qimei_uuid42/udb_*` 等全部齐全, 上午所有业务接口成功;当天 21:40 用同一 cookie 逐字节重放,**带 cookie 的业务接口全部返回 905/259**,不带 cookie 的 getActInfo/getActTaskDetail 仍成功 → 905 是 **udb 登录态过期**, 不是请求帧格式问题(重放原字节即可复现)。 - 浏览器实测(真实 Chrome CDP,`evidence/browser_cookie_harvest/report.md`): 7 个必填网页设备字段全部由**页面脚本写 document.cookie** 或**服务端匿名接口下发**产生: | 字段 | 产生机制 | 协议可否复刻 | | --- | --- | --- | | `udb_deviceid` | middle/anonymousLogin Set-Cookie(10 年) | ✅ 已接入 anon_device | | `udb_anobiztoken` | anonymousLogin 响应 biztoken | ✅ 已接入 anon_device | | `udb_anouid` | anonymousLogin 响应 uid | ✅ 已接入 anon_device | | `udb_guiddata` | middle URL 第三段 hex32(客户端自选) | ✅ 已接入 anon_device | | `guid` | `HyUDBWebSDK-Exchange-2.4.js` 写 document.cookie | ❓ 脚本语义待复刻 | | `_qimei_uuid42` | QIMEI SDK 脚本写 document.cookie | ❓ 脚本语义待复刻 | | `__yamid_new` | 门户业务脚本写 document.cookie | ❓ 脚本语义待复刻 | | `game_did` | 门户业务脚本写 document.cookie | ❓ 脚本语义待复刻 | ## 二、账号 58 现状(16 字段) `udb_passport, username, udb_cred, udb_uid, yyuid, udb_biztoken, udb_version, udb_origin, udb_status, sdid, hdid, udb_anouid, udb_anobiztoken, udb_deviceid, udb_appid, udb_guiddata` —— 4 个匿名设备字段已有(anon_device 协议), **缺 `guid/game_did/_qimei_uuid42/__yamid_new` 4 个核心 + 22 个统计字段**。 ## 三、缺失字段补齐方案(逐字段) ### 3.1 四个核心设备字段(本轮重点分析) | 字段 | 9.1 值形态 | 浏览器首次出现 | 补齐方案 | | --- | --- | --- | --- | | `guid` | 32 hex,`0a7d…` 前缀 | udbres.huya.com SDK 脚本 | 待 SDK 逆向;**格式** 32hex | | `game_did` | 35 位字母数字 | liveapi.ip/getIpLocation 后门户脚本 | 待门户脚本逆向;格式 alnum | | `_qimei_uuid42` | 42 hex,`1a901…` 前缀 | QIMEI SDK 脚本 | 待 SDK 逆向;格式 42hex | | `__yamid_new` | 32 hex 大写 | 门户脚本 | 待门户脚本逆向;格式 32hex 大写 | 浏览器 round1 同一字段多次出现均**值稳定**(跨 profile 稳定):`_qimei_fingerprint` 恒为 `2822a43b5a3bd016fc844218c35c8a74`,`_qimei_uuid42` 前缀恒为 `1a901…`, `guid` 前缀恒为 `0a7dfaa2…` → 存在固定前缀/哈希结构,**随机值可能被风控识别**, 需还原生成算法。 ### 3.2 统计/会话字段(随机即可,服务端仅记录) | 字段 | 生成规则 | 9.1 样例 | | --- | --- | --- | | `SoundValue` | 固定 `0.50` | `0.50` | | `alphaValue` | 固定 `0.80` | `0.80` | | `isInLiveRoom` | 固定 `true` | `true` | | `__yasmid` / `__yamid_tt1` | 17 位随机小数,两者同值 | `0.24859634691671784` | | `udb_passdata` | 固定 `3` | `3` | | `_rep_cnt` / `rep_cnt` | 随机 0-9 | `5` / `7` | | `udb_accdata` | 固定 `undefined` | `undefined` | | `h_unt` | 当前时间戳(秒) | `1788226396` | | `__yaoldyyuid` | = yyuid | `1199666914671` | | `_yasids` | `__rootsid%3D`+32hex 大写 | `__rootsid%3DCBCC34C4…` | | `Hm_lvt_5170…` | 当前时间戳 | `1788226384` | | `Hm_lpvt_5170…` | 当前时间戳 | `1788226571` | | `HMACCOUNT` | 16 hex 随机(百度统计下发) | `1B08C0532E777923` | | `huya_flash_rep_cnt` | 随机整数 | `136` | | `huyasp_rep_cnt` | 随机整数 | `9` | | `huya_hd_rep_cnt` | 随机整数 | `22` | | `huya_web_rep_cnt` | 随机整数 | `507` | ### 3.3 已有字段(保持真实值) `udb_cred/biztoken/uid/yyuid/passport/version/origin/status/appid/username`(登录凭据)、 `sdid/hdid`(设备指纹)、`udb_deviceid/udb_guiddata/udb_anobiztoken/udb_anouid`(anon_device)、 `huya_ua`(normalize 注入)。 ## 四、风险与验证要求 1. `guid/_qimei_uuid42/__yamid_new/game_did` 的**真实性/关联性**服务端是否校验未知; 必须用生成值跑通线上活动 WSS 全链路才能定论,不能只过长度测试。 2. 统计字段随机值不影响接口语义,但**顺序**建议与 9.1 cookie 保持一致以便对照。 3. 补齐后仍需**新鲜的 udb 登录态**(905 = 过期),登录链路见 `app_login.py`。