执行hook相关报错

1.错误

unable to access process with pid 16210 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时,就会报错了。

frida内部会使用ptrace。

2.解决方案

案例脚本

复制代码
Java.perform(function () {
    var p0 = Java.use("cmt.chinaway.com.lite.q.p0");


    //替换类中的方法
    p0.a.implementation = function(str,  str2,  str3,  str4){
        console.log("执行请求");
        var res = this.a(str,  str2,  str3,  str4); //调用原来的函数

        console.log(res)

        return res;
    }
});
复制代码
执行:frida -U -f cmt.chinaway.com.lite -l hook_sign.js

 

 

 

 

 

 

 

posted @   小青年て  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2019-07-19 包与常用模块
点击右上角即可分享
微信分享提示