Frida是一款基于python + javascript 的hook框架,感觉比xposed更方便
基本指南:https://www.frida.re/docs/home/
https://github.com/hookmaster/frida-all-in-one
环境:
python2.7
mumu模拟器
frida-server-12.4.8-android-x86
运行步骤:
adb connect 127.0.0.1:7555 //mumu模拟器
adb shell
./data/local/tmp/frida-server
打开另一个cmd,输入frida-ps -U
端口转发:
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
执行注入:
frida -U --no-pause -f com.example.seccon2015.rock_paper_scissors
按Tab可以看到当前环境支持的方法和命令:
Javahook:
想要进行javahook,需要使用与java相关的方法,则现需要判断当前进程是否支持执行java方法,返回true则支持
所以只要让cnt=999,n-m=1就可以了。
首先写一个js文件。
setImmediate(function(){
Java.perform(function () {
var MainActivity = Java.use('com.example.seccon2015.rock_paper_scissors.MainActivity'); //找到相应的类
MainActivity.onClick.implementation = function (v) {//Hook
send("Hook Start...");
this.onClick(v);
this.n.value = 2;
this.m.value = 1;
this.cnt.value = 999;
send("Success!")
}
});
});
然后执行命令就成功hook了
frida -U -l 1.js com.example.seccon2015.rock_paper_scissors