Frida如何稳定连接PC端跟Android手机端

278 阅读1分钟

必须把 frida-server 以 “zygote bypass 模式” 启动

正确的启动方式(稳定可用)

  1. 把 frida-server 放到一个适合的目录:
adb push frida /data/local/tmp/
adb shell
su
chmod 755 /data/local/tmp/frida
  1. 使用 --runtime=v8 强制 V8 引擎模式(解决 ptrace 延时错误)
su -c "/data/local/tmp/frida --runtime=v8 -D"

必须加 -D(daemon 模式)

  1. 禁用 seccomp(Pixel 5 必须)
setenforce 0
su -c "cmd task lock-profile 0"

尽管已经是 Permissive,但依然有 seccomp filter 阻拦 ptrace,必须加上这个命令: 解锁 task profile(Pixel 系列特有):

su -c "locksettings set-secure user_verified 1"
  1. 不要 spawn,在 Android 14 会失败,正确 attach 方法:先启动 APP,再 attach.
adb shell pidof com.charmy.cupist
frida -U -p <PID> --runtime=v8

若还失败,加:

frida -U -p <PID> --enable-jit --runtime=v8
  1. Pixel 5 / Android 14 专属补丁(最关键),Pixel 5 需要关闭 hardware-assisted ptrace restriction
adb shell su -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"

再检查:

cat /proc/sys/kernel/yama/ptrace_scope

必须返回 0

  1. 如果仍附加失败 → 使用 Riru / LSPosed 注入 FridaDex(效果最佳),安装模块:
frida-riru-17.x.x.zip

模块特点:

✔ 无需 frida-server
✔ 不走 ptrace
✔ Android 14 完全兼容
✔ APP 启动即注入

然后使用:

frida -U -n com.charmy.cupist

即可稳定注入。