一. 环境准备
1.Python环境:本文使用Python3.7(这个安装,比较简单就不做介绍了)
2.最好是准备好科学上网的工具
3.VSCode和NodeJs的安装包:这个可以去各自的官网下载
4.测试机一台
二. Frida的安装
Frida这个工具不是安装最新版本就是好的,根据肉丝大佬的推荐,一般Android 8/8.1比较适合用 12 开头的版本(推荐12.8.10),至于Android 10以上推荐使用14以上的。本文测试机是Android 8.1,所以安装的版本是12.8.10
2.1 Frida相关版本的确定
1.frida和frida-tools的版本确定
(1)打开Github:https://github.com/frida/frida
(2)进入release界面,并进入Tag界面寻找对应版本
(3)进入12.8.10界面,然后搜索frida-tools,就能确定frida和frida-tools的版本
2.2 科学的安装方式
1.打开科学上网
2.按照指定的顺序安装Frida
pip install frida==12.8.10
pip install frida-tools==6.0.1
3.验证Frida是否安装成功,在cmd中输入Frida --version,显示的就是安装好的版本号
Frida --version
2.3 无科学的安装方式
1.也按照2.1中的方法直接安装,但是容易出现安装失败,出现失败之后就需要重复安装。
2.下载Frida另外提供的配置文件,进行配置
(1)进入release的历史:https://pypi.org/project/frida/#history
(2)进入目标版本之后,点击Download files,根据安装好的py版本和电脑配置,选择对应的文件frida-12.8.10-py3.7-win-amd64.egg ;另外一个是frida-12.8.10.tar.gz
3.解码下载好的frida-12.8.10.tar.gz ,再次解压frida-12.8.10.tar到当前文件夹,并在解压后的路径下打开cmd或者PowerShell,输入easy_install +路径,比如easy_install .\frida-12.8.10-py3.7-win-amd64.egg
4.安装frida-tools,如果没有科学的话,可能需要重复几次就可以了
pip install frida-tools==6.0.1
3.验证Frida是否安装成功,在cmd中输入Frida --version,显示的就是安装好的版本号
Frida --version
三. Frida的脚本开发环境配置
3.1 NodeJs的安装
1.nodejs下载网址:https://nodejs.org/en/ ,下载后点击安装
2.直接下一步
3.接受协议:
4.选择安装路径:
5.会默认自己添加环境变量:
6.接下去一路“next”,最后点击finish
7.检查是否正常
8.再看看另外2个目录,npm的本地仓库跑在系统盘c盘的用户目录(C:\Users\MyPC\AppData\Roaming)(没见到npm-cache是因为没有用过,一使用缓存目录就生成了),我们试图把这2个目录移动回到D:\nodejs
先如下图建立2个目录:
10.然后运行以下2条命令,会将保存到C盘的内容,转移到D盘指定的路径
npm config set prefix "D:\My_Android\Frida\NodeJs\node_global"
npm config set cache "D:\My_Android\Frida\NodeJs\node_cache"
3.2. VSCode安装
这个好像没有什么需要注意的地方,所以就不演示了。
三. Frida脚本开发环境配置
1.进入 https://github.com/oleavr/frida-agent-example 下载zip
2.解压(放在 VSCode同一个文件夹中是为了方便管理)
3.使用cmd 进入解压后的路径,使用 npm install
4.VSCode中File->open floder 进入frida-agent-example-master\agent
5.这样就有代码提示,就可以愉快的进行脚本开发
四. 总结
现在Xposed框架已经被针对的比较厉害,所以有时候利用Frida进行分析,还是不错的,尤其是在SO层的分析。但是Frida如果没有代码提示,对于很多新手会有很多障碍,这个是根据其他论坛大佬的分享,自己总结的,如果有问题可以留言。
(同时安装多个版本的Frida管理工具,推荐:Pyenv https://blog.csdn.net/WuYu_AS/article/details/119303709?spm=1001.2014.3001.5502)