注:frida的客户端与服务端版本对应相同

1、查看手机型号

1
2
# 查看手机型号
adb shell getprop ro.product.cpu.abi

2、将frida-server放到手机的/data/local/tmp目录下,赋权运行:

1
2
3
4
adb push frida-server /data/local/tmp
adb root
adb shell chmod +x /data/local/tmp/frida-server
adb shell /data/local/tmp/frida-server -l 0.0.0.0:1234 # -l 0.0.0.0:1234为指定端口,不写默认27042端口

3、开启端口转发:

1
2
3
4
5
6
7
frida-端口转发(27042 /27043)
修改默认端口,指定端口:
frida -l 0.0.0.0:1234
adb forward tcp:1234 tcp:1234
默认:
adb forward tcp:27043 tcp:27043
adb forward tcp:27042 tcp:27042

客户端:

frida-ps -U查看通过usb连接的android手机上的进程,通过grep过滤就可以找到我们想要的包名。

1
2
3
4
5
6
7
8
9
10
11
12

Frida -U -f/p 包名 --no-pause -l脚本

-U 指定USB设备

-f 指定app包名,通过spwn方式启动

-P 指定APP的pid

--no-pause 不暂停

-l 加载hook脚本
1
frida -U -f packagename -l script.js

frida参数-f是以spawn启动,也就是重启app注入js;-U连接到USB设备;-ljs脚本;--pause启动frida后让主线程暂停,通过%resume唤醒主线程。