必须把 frida-server 以 "zygote bypass 模式" 启动
正确的启动方式(稳定可用)
- 把 frida-server 放到一个适合的目录:
perl
adb push frida /data/local/tmp/
adb shell
su
chmod 755 /data/local/tmp/frida
- 使用
--runtime=v8强制 V8 引擎模式(解决 ptrace 延时错误)
arduino
su -c "/data/local/tmp/frida --runtime=v8 -D"
必须加 -D(daemon 模式)
- 禁用 seccomp(Pixel 5 必须)
arduino
setenforce 0
su -c "cmd task lock-profile 0"
尽管已经是 Permissive,但依然有 seccomp filter 阻拦 ptrace,必须加上这个命令: 解锁 task profile(Pixel 系列特有):
arduino
su -c "locksettings set-secure user_verified 1"
- 不要 spawn,在 Android 14 会失败,正确 attach 方法:先启动 APP,再 attach.
css
adb shell pidof com.charmy.cupist
frida -U -p <PID> --runtime=v8
若还失败,加:
css
frida -U -p <PID> --enable-jit --runtime=v8
- Pixel 5 / Android 14 专属补丁(最关键),Pixel 5 需要关闭 hardware-assisted ptrace restriction
arduino
adb shell su -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
再检查:
bash
cat /proc/sys/kernel/yama/ptrace_scope
必须返回 0
- 如果仍附加失败 → 使用 Riru / LSPosed 注入 FridaDex(效果最佳),安装模块:
python
frida-riru-17.x.x.zip
模块特点:
✔ 无需 frida-server
✔ 不走 ptrace
✔ Android 14 完全兼容
✔ APP 启动即注入
然后使用:
frida -U -n com.charmy.cupist
即可稳定注入。