feat(huya): OTP击穿 - arg语义(arg1=2) + 输出结构(0x03+可变+固定32hex尾8b38f1) - 32hex形态实锤

This commit is contained in:
yml2213
2026-08-29 00:11:52 +08:00
parent ebdbd05217
commit 92eb39cd9d
2 changed files with 21 additions and 1 deletions
+20
View File
@@ -632,3 +632,23 @@ UdbAESUtilC1 + encrypt ← AES 层
### 在途
- 子代理静态复刻 KeyExpansion/Cipher → huya_aes_replica.py (3 验证向量)
- 下步: OTP 参数语义 (读 32fa24 前半 arg 处理) + getkey 双 id 材料
## §11.19 hyudb_otp_encrypt 击穿: 参数语义 (arg1 必须=2) + 32hex 结构现形 (2026-08-28 夜)
### 参数语义 (静态)
- arg1 (uint8) 必须 == 2 (cmp #2 b.ne early-return) — 探测值修正后链路全通
- 32fa24 签名: (string-in, h=2, h, string, string, string, h, m, string&out)
### OTP 权威输出 (unidbg)
| 输入 | 输出 (hex) |
|---|---|
| in=abc key=ZMHAV… | `03 0088fa6ee519d52f61348e01d6e74c81cd8b38f113056fe498b0c7de2ffd52c7b0` |
| in=1e8bdf7d… key=KFWAH… | `03 0043c5bf3f792216e249116c968c84ff3a8b38f113056fe498b0c7de2ffd52c7b0` |
**结构: 0x03 + 可变(输入依赖) + 固定 32hex 尾 `8b38f113056fe498b0c7de2ffd52c7b0`** — 32hex 形态实锤,
可变段 = 输入序列化 + AES/xxtea 层, 固定尾 = 静态钥派生 MAC (跨输入稳定!)。
### 下步 (round7)
1. OTP 输入差分 (变 in/变 key → 可变为/尾变?)
2. 固定尾溯源 (8b38f1… = md5/aes(静态钥材料)?)
3. 32hex-HDID32 (ed0db8) vs OTP 体系对拍 (登录帧 t1.t0 可能 = OTP 输出的某段!)
+1 -1
View File
@@ -145,7 +145,7 @@ public class AesProbe {
// 尝试 4 位置: arg0=in, arg1=?, arg2=?, arg3=key, arg4=?, arg5=?, arg6=h, arg7=m, arg8=out
try {
Number r = module.callFunction(emulator, 0x32fa24L,
UnidbgPointer.nativeValue(pa), 1L, 2L,
UnidbgPointer.nativeValue(pa), 2L, 0L,
UnidbgPointer.nativeValue(pb), UnidbgPointer.nativeValue(pc), UnidbgPointer.nativeValue(pd),
3L, 4L, UnidbgPointer.nativeValue(pout));
String out = readStdString(pout);