feat(dfp): 🔑 RC4 key=APK内嵌appkey常量(datadiv@3912240), 全流程零设备依赖闭环 (R38-R39)

This commit is contained in:
yml2213
2026-08-29 11:01:51 +08:00
parent 4868a3b0e8
commit 5fa1f6d082
13 changed files with 43643 additions and 2 deletions
+31
View File
@@ -1599,3 +1599,34 @@ full: 7c da | 11 | 69 c9 f5 28 9c 4d 46 | 95 6f 21 | 10 bb 80
### 端到端伪造路径 (已无阻塞)
JSON 构造 → gzip_wrap → RC4(捕获 key) → wire body → POST. 密钥每轮经 hook_hy.js 一挂即得.
## §11.67 R38-R39: 🏆 密钥溯源定案 — RC4 key = APK 内嵌常量, 全流程零设备依赖 (2026-08-29)
### 追踪过程 (教训先行)
- spawn 存活问题: 必须用两阶段配方三脚本 (bypass_msaoaid_maps_art_callsite + mask_frida_maps_only + 11s 后 patch_guard_block_termination) — 单挂 skip_cleanup 会在登录态路径秒死 (用户指正!)
- 登录 md5 正确姿势: udbauthunify!0x32e71c = md5_sret(out&, in), x0 是输出槽 onEnter 必空 (R34 误读根源); 输入 = k1(32hex) + getkey(nonce) → AESkey 派生 (R14 已知链, 本次活体复证 in1 hex 直接可见 "865a4924..." 前缀!)
### 密钥来源定案 (三层排除 → 实锤)
1. 排除落盘: /data/data 全 grep hex 文本 + turing 文件原始字节 = 无
2. 排除设备派生: md5(hdid/guid/signature/...) 全否; 跨天跨重注册稳定 → 非会话随机
3. **实锤: evidence/dfp_datadiv_full.json 字符串表 @3912240 = "865a4924a40897ac1fcfe6b4c2abc798", 紧邻 "dfpReport"/"appid"/"terminal"/"huyaudbnimoui"** — libhydeviceid .data (datadiv 加密) 内嵌 turing appkey 常量!
### 865a49 家族全景 (三个兄弟, 各属一个子系统)
| 常量 | 尾 6 hex | 来源 | 用途 |
|---|---|---|---|
| RC4 key | abc798 | libhydeviceid .data 常量 (datadiv) | **dfpReport 报文加密** |
| k1 | cbb0e3 | BusinessCfg+0x10 (datadiv) | appSign=md5("5008_ver_k1") + AESkey=md5_char16(k1+getkey) |
| channelKey | cbb045 | resinfo (AES-ECB, HuyaUdb... 密钥) 服务端下发 | t1 设备指纹 |
### 全链终态 (每一步都有代码级证据)
```
APK 内嵌: appkey 865a..c798 (datadiv 加密 .data) ──运行时解密──┐
指纹 JSON 采集 (Athena/Hebe/terminal/version) │
→ gzip (1f8b08, level9) │
→ RC4(appkey) keystream XOR ────────────────────────────────┘
→ wire body (前10B=keystream⊕gzip头, 即"magic")
→ taf/wup 封装 → POST wsapi.huya.com /dfpReport
```
- 登录链 (已破): uid+getkey → xxtea/AES-OTP (§11.44); appSign=md5("5008_ver_k1") (R15)
- 会话链: Perseus SecureRandom 16字符 → RSA 信封 (R34) — 独立通道, 与 dfpReport 无关
- **端到端伪造 = 纯离线**: JSON 构造 + tools/dfp_rc4.py (key 为常量), 无需设备!