安装
1.安装下载python3.8
2.pip3 install frida
3.pip3 install frida-tools
4.测试版本 验证是否安装成功 frida --version
安装过程可能会弹出让手动安装或者升级py安装插件,可以升级,然后更改镜像再C:\用户\admister\下新建pip文件夹
然后创建pip.ini添加全局配置
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
这里使用阿里云镜像,再次安装,等待即可
配置
下载同版本的frida-service包到手机上,使用frida --version查看frida版本,然后adb shell getprop ro.product.cpu.abi查看手机位数,然后去Releases · frida/frida · GitHub下载同版本符合位数的service压缩包 如frida-server-15.2.2-android-x86 ,不要下错
然后解压文件,使用adb push xxx /data/local/tmp
把文件push到手机或者模拟器
进入操作
adb shell
su
然后给予授权
chmod 777 文件名
启动
./文件名
这时挂载,服务端启动成功
测试
打开新的窗口
adb forward tcp:27042 tcp:27042
创建链接
然后使用
frida -U -f 包名 -l 函数名
如
frida -U -f com.lzy.xxx -l 路径名/xxx.js
即可启动时挂载脚本
我自己写了一个获取参数和返回值的通用方法
console.log("HOOK加载成功");
Java.perform(function(){
console.log("Java内部执行函数....");
var clazz = Java.use('包名+类名');//如com.lzy.a.ActivityMain
clazz.方法名.implementation = function(参数){
console.log("参数信息="+参数);
//看方法是否需要返回值可选择return
};
});