命令行形式执行frida

测试脚本

setImmediate(function() {
    Java.perform(function() {
      var MainActivity = Java.use("com.example.seccon2015.rock_paper_scissors.MainActivity");
      MainActivity.onClick.implementation = function(v){
        this.onClick(v)
        this.m.value = 0
        this.n.value = 1;
        this.cnt.value =999;
        console.log("Done:",JSON.stringify(this.cnt));
      };

    });
  })
    
  //参数中的com.example.seccon2015.rock_paper_scissors.MainActivity就是我们需要Hook的那个类;
  //MainActivity.onClick.implementation,意思就是Hook前面获取到的类中的onClick方法
    

命令行命令

frida -U -l rock.js -n com.example.seccon2015.rock_paper_scissors

rock.js是我上面的那段js文件,-n后面是我要hook的app的包名。

其他

简单介绍一下:

-U  会自动找到当前启动的安卓模拟器or真机并且附着

-l  后边加上要执行的js文件

-n  后边加上包名

-p  后边加上进程号(有的app有两个pid)
原文地址:https://www.cnblogs.com/c-x-a/p/13492304.html