一、选择合适的版本

frida 版本要和python、Android对应起来,过高或过低都可能将导致不可使用。

一般 frida12.8.0+ 、Python3.8 对应 Android7-8的版本,frida14+、Python3.8 对应 Android9的版本。

 打开 Releases · frida/frida · GitHub 进行查看,找到适合自已的版本,因为我这用的用的python3.8、逍遥模拟器7.1 64位,这里选frida12.8.20为例。

二、安装指定版本的frida

安装指定版本的frida和 frida-tools:

pip install frida==12.8.20 frida-tools==7.2.0 -i https://pypi.mirrors.ustc.edu.cn/simple/

安装过程不会很快,耐心等待一下。

三、安装frida-server

上面两步完成只在在本地安装了frida,本地编写脚本后需要推送到手机端的frida-server,然后frida-server执行完毕再把信息返回本地。接下来装一下frida-server:

命令行用adb连接下模拟器: adb connect 127.0.0.1:21533。端口21533是因为这是我的第4个模拟器,逍遥模拟器端口默认是从:21503、21513 这样类推,连接不上的话确认网络模式是否为NAT模式。如果提示命令不存在可以修改下path变量,指向逍遥模拟器的目录中。

接下来执行:adb shell

 # getprop ro.product.cpu.abi

一般来讲模拟器使用的是x86或x86_64的架构,而真机就是arm或arm64架构。这里返回的是 x86_64,那么我们下载x86_64的。

 下载后解压出来只有一个文件,需要把它推送到模拟器中 /data/loacl/tmp 下,原文件名很长,先改个名如fserver,在解压的文件夹目录运行命令:adb push fserver /data/local/tmp/

现在执行:adb shell

切换管理员:su

进入目录:cd /data/local/tmp

改下权限:chmod 777 fserver

然后就可以运行了:./fserver

现在就可以本地与手机进行交互了。如果上面pip install frida是在虚拟环境中安装,那么在进入虚拟环境中可以运行下命令查看效果。

运行命令: frida-ps -U , 打印当前正在运行的应用, -U 是usb连接的,现在显示出来的就是手机目前运行的应用了。

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐