Skip to content

initializeGlobals 函数详解 ​

🔧 script.js 的全局初始化:解析 SSL 符号、设置 NativeFunction。

📎 源码在线查看:script.js#L124-L183(initializeGlobals)

做什么 ​

设备端脚本启动时,initializeGlobals 负责:

  1. 用 ApiResolver 查找 SSL_read/SSL_write/SSL_get_fd 等符号
  2. 处理多匹配(按优先级排序,Conscrypt 优先)
  3. 创建 NativeFunction 包装(SSL_get_fd)
  4. 记录当前 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 的前置准备。

相关文档 ​

基于 VitePress 构建 · 教学用途