Skip to content

setssllib RPC ​

📡 Python 端通过此 RPC 远程切换设备端要 hook 的 SSL 库名。

接口签名 ​

javascript
rpc.exports = {
  setssllib: function (name) { ... }
}

Python 端调用:

python
if ssllib != "":
    script.exports.setssllib(ssllib)

触发时机 ​

script.load() 之后,如果命令行传了 -ssl <lib>,Python 端立即调用此 RPC,让设备端用新的库通配符重新解析所有 SSL 符号。

设备端实现 ​

javascript
setssllib: function (name) {
    console.log("setSSLLib => " + name);
    libname = name;          // 更新全局 libname
    initializeGlobals();     // 重新解析所有 Native 符号
    return;
}

注意:initializeGlobals() 会重新枚举并覆盖 addresses 全局表,但已 attach 的 Interceptor hook 不会被自动重置。因此 setssllib 一般只在脚本加载初期、hook 尚未生效前调用一次。

何时手动用 ​

通常 -ssl 参数会自动触发。若你在自定义 host 程序里加载了 script.js,可手动调:

python
script.exports.setssllib("*libboringssl*")

相关文档 ​

基于 VitePress 构建 · 教学用途