Frida动态插桩工具,可以插入一些代码到原生app
的内存空间去(动态地监视和修改其行为),这些原生平台可以是Win
、Mac
、Linux
、Android
或者iOS,
功能非常强大。
Frida运行分为两部分,一部分为server,安装在手机中,一部分是运行在系统上的交互工具frida CLI.
安装
需要在windows安装frida客户端和在安卓安装frida服务端。
windows安装frida客户端如下:
(1)检查python环境,需要安装python2 或者 python3,这里略过。
(2)安装frida,cmd中执行如下命令:
pip3 install frida
(3)安装安装frida-tools:
pip3 install frida-tools
(4)查看版本:
frida --version
在安卓安装frida服务端如下:
(1)查看Android手机设备设置getprop ro.product.cpu.abi
(2)根据cpu版本去下载相应https://github.com/frida/frida/releases,手机是arm64-v8a的,找到相应的服务器server,如下
将frida-server下载下来,解压出来,为了简单,重命名为frida-server64-arm64,adb push 到手机,命令如下:
adb push frida-server-arm64 /data/local/tmp
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
授权并启动:
adb shell
su
cd /data/local/tmp
chmod 755 frida-server-arm64
./frida-server-arm64
如果运行不了,关闭liunx的SELinux: echo 0 > /sys/fs/selinux/enforce
(3)验证frida是否启动成功,在电脑Clinet端新起cmd执行(注意要退出adb shell)
frida-ps -U
Frida提供了四个工具,frida-trace,frida-ps,frida,frida-discover
FAQ
1 frida.ProtocolError: unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to use.
在client端执行frida --v 查看版本号14.0.8,到https://github.com/frida/frida/releases网站也下载服务端frida-server-14.0.8的版本来安装到手机。
在系统Client端的更新用pip 更新命令:
查看系统里过期的python库,可以用pip命令
1 |
|
1 |
|
对于列出的过期库,pip也提供了更新的命令
1 |
|