命令行形式执行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)