docs(huya): R23 双线状态固化 - ga表栈构建+onLoad空槽链 下一步三选项
This commit is contained in:
@@ -1246,3 +1246,24 @@ dfpReport: tReq = [10B 魔数 57 18 82 cf 66 4b b3 94 01 ee][3988B 加密采
|
||||
- onLoad 全仿真 = 类定义工程 (ProxyClassFactory) 或连续空槽 wack-a-mole — 小时级
|
||||
- 替代: 跳过 onLoad, 直接按 JNI 表构造 b87_@0x25c98 的 C 结构对象模型直调
|
||||
- 进展固化: gap补映射 + 预注册类 + 全局槽补丁 = 已进 TuringProbe.java 可复现
|
||||
|
||||
---
|
||||
|
||||
## §11.53 R23: ga 侧 JNI 解剖状态 + 双线进展固化 (2026-08-29)
|
||||
|
||||
### ga (turingga.so) JNI 面
|
||||
- 方法名族: a209202_2A742FA224BA8A2A .. n209202_ (14个, 哈希=ga v2.92.2)
|
||||
- JNI 字符串在 .rodata (vaddr 0x4bd7/0x4c4e/0x5164...); **注册表 = 非文件字面三元组**
|
||||
(281 个 RELATIVE 重定位扫描 = 0 命中 -> 表为栈构建/运行时填充, 需 JNI_OnLoad 反汇编)
|
||||
- ga JNI_OnLoad 符号存在 (symtab 隐藏), harness 调用崩溃: PC=0x31ec8, X0=1 (运行中-非空指针)
|
||||
|
||||
### 双线状态 (顺序第1步受阻, 已固化)
|
||||
- 线1 (mfa onLoad): 引用计数关已过 (0x48a90 槽补丁); 后续空槽 wack-a-mole ~小时级
|
||||
- 线2 (ga 表): 需 JNI_OnLoad 栈构建表反汇编 — 与线1 同深度
|
||||
- 两线公用的更优路径: **运行中 RegisterNatives 捕获** (frida vite 已多路试, ART 内部符号未暴露 —
|
||||
备选: ART JNIEnv vtable 正确索引再试 / halt_handler)
|
||||
|
||||
### 建议下一步 (下会话入口)
|
||||
- A: mfa onLoad 空槽批量补丁 (0x48000-0x48a90 全槽扫描, 非零即赋 dummy) 冲过初始化
|
||||
- B: ga JNI_OnLoad 反汇编解栈构建注册表 (RegisterNatives 调用参数恢复)
|
||||
- C: 重置方向 — 解析已捕获 7 样本的 nonce/计数位规律 (零依赖纯分析)
|
||||
|
||||
Reference in New Issue
Block a user