一定要注意环境,最高版本的python解释器可能会引起进程崩溃,无法挂载
使用的环境:wim10 ,python3.6, frida-server-14.1.3-android-x86,雷电模拟器
-
在电脑上安装firde
- 使用命令pip install firda==14.1.3 进行安装
- 使用命令pip install frida-tools==9.0.0 进行安装(防止后面测试firda出现 firda-ps不是内部或外部命令)
-
下载frida-server
-
根据使用的设备(手机或模拟器)去下载对应的frida-server(https://github.com/frida/frida/releases)
我是用的是雷电模拟器,使用的是frida-server-14.1.3-android-x86
-
根据使用的设备(手机或模拟器)去下载对应的frida-server(https://github.com/frida/frida/releases)
-
将frida-server推送到设备上
- 打开设备并检测设备 adb devices
- 将frida-server推送到设备上命令adb push frida-server-14.1.3-android-x86 /data/local/tmp/frida-server
- 进入设备终端 adb shell(模拟器进入自动默认是root用户,手机需要手动切换,#代表root用户)
- 赋予权限 chmod 777 /data/local/tmp/frida-server
-
测试
- 在设备上执行./frida-serve
- 在pc端执行frida-ps -U 查看信息,有进程则代表配置正常
-
使用
1. 编写js代码
setImmediate(function () {
Java.perform(function () {
# 包的路径在代码的第一行, package后面的信息
var utils = Java.use("包的路径.class名");
# Func指你的方法名
utils.Func.implementation = function () {
var retval = this.Func(0);
# 同指方法名, 传参数参数可以带参数, 没有可删掉
console.log(retval);
return retval
}
});
});
2. 在pc端进行端口转发adb forward tcp:27042 tcp:27042
3. 在pc执行挂在命令frida -U --no-pause -f apk的包名 -l a.js
正常情况:
____
/ _ | Frida 14.1.3 - A world-class dynamic instrumentation toolkit
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about 'object'
. . . . exit/quit -> Exit
. . . .
. . . . More info at https://www.frida.re/docs/home/
Spawned `xx.xx.xx`. Resuming main thread!
4.在设备上进行操作,触发方法
版权声明:本文为weixin_45008664原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。