From e2485c5ea6d8b61293dfdc203df46f3ee1c341bd Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sun, 11 Oct 2026 21:47:27 +0800 Subject: [PATCH] =?UTF-8?q?docs(=E8=B4=A6=E6=9C=AC):=20=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=20H3=20=E5=8D=95=E5=8F=98=E9=87=8F=E5=AE=9E=E9=AA=8C=E7=BB=93?= =?UTF-8?q?=E8=AE=BA(captcha=20=E5=9F=9F=20cookie=20=E4=B8=8E=20errorCode?= =?UTF-8?q?=3D12=20=E6=97=A0=E5=85=B3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 做了什么: - ANALYSIS.md §7.1 新增 E8: captcha 域"带/不带"腾讯云登录 cookie, 单变量 A/B 均为 12 - ANALYSIS.md §7.4 假设表更新: H3 标注为已排除, 只剩 H1/H2 - ANALYSIS.md §4.3 更正: extract_eks 改通用匹配后实测 248 字符, 与真实浏览器一致 - PROGRESS.md §三 已排除表新增 H3 一行 为什么: - 彻底关闭"换 cookie/cookie 同源"这条猜测路线, 避免重复投入 怎么验证: - 单变量 A/B: scripts/experiment_h3_cookie_ab.py --both -> A=12, B=12 (同一次运行, 题目 2404 求解 posterior=1.000 全对, collect_len=1856) --- har/1ms_dianxuan/ANALYSIS.md | 17 +++++++++-------- har/1ms_dianxuan/PROGRESS.md | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/har/1ms_dianxuan/ANALYSIS.md b/har/1ms_dianxuan/ANALYSIS.md index caabfd1..00e7ed5 100644 --- a/har/1ms_dianxuan/ANALYSIS.md +++ b/har/1ms_dianxuan/ANALYSIS.md @@ -190,10 +190,10 @@ node / browser 后端保留为「目标 aid 风控更严格」时的备选。 `eks` 由 tdc.js 内部 `TDC.getInfo().info` 产出,形如 Base64 的 236~248 字符 (= 176~184 字节),推测是用服务端公钥包裹的会话密钥,服务端用它解密 `collect`。 -* 本仓库正则 `window\.<随机名>\s*=\s*''` 可从 tdc.js 中提取到一份 eks, - 但**与真实浏览器产出的长度不一致**(236 vs 248),说明沙箱环境不同会让 tdc.js - 生成不同结构的 eks。 -* `eks` 来源与 `collect` 必须**同源**(同一份 tdc.js、同一次执行),不可混用。 +* 早期用写死变量名的正则(`window.KQnlRHY...`)提取,得到 236 字符,与真实浏览器的 248 不一致。 + 现已改为**通用**匹配(任取最长的 `window.<随机名>=''`),在 2026-10-11 的实时构建上 + 稳定取到 **248 字符**,与真实浏览器观测一致(见 E8 那次运行 `eks_len=248`)。 + `eks` 的来源与 `collect` 必须**同源**(同一份 tdc.js、同一次执行),不可混用。 ### 4.4 `ans` —— 点击坐标(明文,无需签名) @@ -391,6 +391,7 @@ tdc.js;复用本仓库已完成的视觉求解器算坐标,用 `Input.dispat | E5 | **域不在白名单时 SDK 直接短路**:不出题、立刻回 `trerror_1006_...` 错误票据 | `127.0.0.1` 页面上 SDK 加载 1 秒内即回调 `ret:0`,无任何挑战 UI | | E6 | 纯 Python 的 collect 各种变体(空/垃圾/截断/真实环境值/真实轨迹 dt)→ 全部 `12` | 变异矩阵 + 多轮实测 | | E7 | 成功流程的 captcha 请求带 `qcloud.com` 域 cookie(`uin`/`skey`/`qcmainCSRFToken`/`intl`);我们不带 | HAR 条目 60/61/62 请求头 | +| E8 | **captcha 域"带 / 不带"腾讯云登录 cookie,结果完全相同**:单变量 A/B 均为 `12` | 2026-10-11 `scripts/experiment_h3_cookie_ab.py --both`:A=12、B=12(同一次运行、同一 tdc.js 构建,题目 2404 求解 posterior=1.000 全对,collect_len=1856) | ### 7.2 显式撤回的错误结论(§5.7) @@ -410,11 +411,11 @@ E3(成功)与 E4(失败)之间**同时变了三个变量**: ### 7.4 剩余假设(互相独立,需单变量实验区分) -| # | 假设 | 若为真的修法 | +| # | 假设 | 状态 | | --- | --- | --- | -| H1 | 需要**已登录业务会话/真实页面上下文**(页面自己初始化的验证码) | 复刻业务会话,或半自动取票 | -| H2 | **CDP/自动化被检测** | 只能非 CDP 真浏览器,半自动 | -| H3 | 需要 `qcloud.com` 账号 cookie(有效 `uin`/`skey`) | 纯算流程带上该 cookie 即可 | +| H1 | 需要**已登录业务会话 / 真实验证码页面上下文**(页面自己初始化的验证码) | 唯一未被单变量区分的剩余假设 | +| H2 | **CDP / 自动化被检测** | 唯一未被单变量区分的剩余假设 | +| H3 | 需要 `qcloud.com` 账号 cookie(有效 `uin`/`skey`) | ❌ **已排除**(E8:带/不带 cookie 单变量 A/B 均为 12) | ### 7.5 决定性实验(单变量,二选一即可闭合) diff --git a/har/1ms_dianxuan/PROGRESS.md b/har/1ms_dianxuan/PROGRESS.md index 561b310..ba33e1b 100644 --- a/har/1ms_dianxuan/PROGRESS.md +++ b/har/1ms_dianxuan/PROGRESS.md @@ -65,6 +65,7 @@ | **换遥测引擎能解决 1ms 的 12** | python / python_keyed / node / browser 全部 12 | | **长静默窗口能解决 1ms 的 12** | 静默 9 分钟 + 单发 → 仍 12 | | **"补环境"能解决 1ms 的 12** | 同上三条;环境不是自变量 | +| **captcha 域带腾讯云登录 cookie 能解决 12 (H3)** | 单变量 A/B:带/不带均 12(`scripts/experiment_h3_cookie_ab.py`,2026-10-11)| | 轨迹 dt 太小是 12 的"直接原因" | 换成真实 ms 分布后仍 12(E6) | ---