【APP逆向37】hook失败之ptrace占坑
-
现象
- 使用attach方式hook,frida -UF -l hook.js
![]()
- 使用attach方式hook,frida -UF -l hook.js
-
原因
unable to access process with pid 17124 due to system restrictions;
try `sudo sysctl kernel.yama.ptrace_scope=0`, or run Frida as root
-
这是ptrace占坑的标志。
-
ptrace可以让一个进程监视和控制另一个进程的执行,并且修改被监视进程的内存、寄存器等,主要应用于调试器的断点调试、系统调用跟踪等。
在Android app保护中,ptrace被广泛用于反调试。一个进程只能被ptrace一次,如果先调用了ptrace方法,那就可以防止别人调试我们的程序。这就是传说中的先占坑。 -
一个进程只能被一个进程附加,为了防止frida的附加,程序中自己先基于ptrace附加自己,我们如果后期使用frida去附加app时,就会报错了。
-
解决方法
- 1.速度快点让frida先附加,使用span模式
Java.perform(function () {
var p0 = Java.use("cmt.chinaway.com.lite.q.p0");
p0.a.implementation = function (str, str2, str3,str4) {
console.log("---------------------")
console.log(str, str2, str3,str4);
var res = this.a(str, str2, str3,str4);
console.log(res);
return res;
};
});
// frida -U -f cmt.chinaway.com.lite -l 1.hook_sign.js

- 2.修改ASOP源码,让它自己附加自己失败,编译并刷入自己手机。
- 相对于第一种,复杂太多,*都不选,小编也没弄明白


浙公网安备 33010602011771号