激活掉了 / 激活不上——按频率从高到低排查
根因排序
激活相关问题按出现频率从高到低排列,按这个顺序排查省时间。
① root 管理器里 JsHook 被拒绝过授权
最常见原因。Magisk / KernelSU / APatch 的超级用户列表里,JsHook 可能被不小心设成了「拒绝」。
排查步骤:
- 打开 root 管理器(Magisk 应用)
- 进 超级用户 页面
- 找 JsHook(包名
me.jsonet.jshook) - 如果状态是「拒绝」,改成「允许」
- 回到 JsHook 首页重新点 激活
② 开了增强渲染导致掉激活
部分机型的 GPU 或系统驱动不支持 JsHook 的增强渲染(ImGui 直绘)。激活成功后开增强渲染,可能出现悬浮窗不显示、App 闪退或激活状态消失。
排查步骤:
- 清 JsHook 应用数据
- 重新激活
- 激活成功后,先不要开增强渲染
- 进设置把增强渲染关掉
- 如果本来就是关的,这步跳过
更详细的增强渲染排查见 增强渲染故障排查。
③ 网络到不了 GitHub,在线服务报错
JsHook 的部分在线服务(如内核驱动下载、脚本仓库列表)依赖 GitHub 链接。大陆网络直连 GitHub 经常超时,导致:
- 在线服务报
Server request failed - 内核驱动下载失败,导致激活不完整
- 脚本仓库列表加载不出来
排查步骤:
- 开 VPN(全局模式)
- 重新点激活
- 如果能激活成功,说明是网络问题,后续使用时保持 VPN 开启
④ 跨大版本升级后崩到打不开
从 1.0.x 直接跳到 1.1.x+ 曾出现过兼容性破坏。如果升级后 App 直接崩:
- 确认之前有备份(脚本 + 订阅列表)
- 清 JsHook 应用数据
- 手动删除两个目录(需要 root 权限,用 MT 管理器或终端):
/data/system/jshook/data/adb/jshook
- 重新安装新版 APK
- 重新激活
- 恢复脚本和订阅
小版本升级(1.3.0 → 1.3.1)一般没问题,日常升级尽量小步走。
⑤ SELinux 阻止了文件权限修复
极少数设备上 SELinux 是 Enforcing 模式,JsHook 激活时修复 /data/adb/jshook/ 权限被 SELinux 阻止。
排查步骤:
- 打开终端(MT 管理器自带终端或 Termux)
- 执行:
su
setenforce 0
- 回到 JsHook 重新激活
这会临时把 SELinux 切成 Permissive 模式。如果激活成功,后续使用时保持 Permissive 或给 JsHook 加 SELinux 策略规则。
⑥ 内核版本太新或太旧
JsHook 激活时会尝试加载匹配当前内核版本的 .ko 驱动模块。如果内核版本不在支持列表里,驱动加载会失败。
这不影响基本的 Frida 注入功能,只是内核驱动模式用不了。激活后如果只是内核驱动相关功能报错,可以忽略——先把基本注入跑通再说。
通用排查技巧
激活失败时,看日志比瞎猜有效:
- 打开 MT 管理器或任意终端
- 执行:
su
logcat | grep jshook
- 重新点激活,观察日志输出
- 把异常行复制出来,对照上面的排查项定位