initializeGlobals 函数详解
🔧 script.js 的全局初始化:解析 SSL 符号、设置 NativeFunction。
📎 源码在线查看:
script.js#L124-L183(initializeGlobals)
做什么
设备端脚本启动时,initializeGlobals 负责:
- 用 ApiResolver 查找
SSL_read/SSL_write/SSL_get_fd等符号 - 处理多匹配(按优先级排序,Conscrypt 优先)
- 创建 NativeFunction 包装(SSL_get_fd)
- 记录当前 ssllib 路径
多匹配处理
javascript
var matches = resolver.enumerateMatches("exports:*!SSL_write");
// 按 Conscrypt 优先排序
matches.sort(conscryptFirst);详见 多符号匹配。
ssllib 跟踪
initializeGlobals 记录"当前用哪个 SSL 库",供后续 hook 与 setssllib RPC 用。
失败处理
若一个符号都找不到,initializeGlobals 会:
- 打印警告
- 标记 SSL hook 不可用
- Java socket hook 仍可工作(兜底)
与 hook 的关系
initializeGlobals 是 hook 的前置准备。