记录下frida安装过程,或许能给大家提供点帮助。
1.安装python运行环境
这个需要到python官网安装下载,根据系统32位还是64位下载。地址https://www.python.org/downloads/windows/,32位选择 Windows x86 executable installer,64位选择 Windows x86-64 executable installer,安装教程百度的百度上找的安装教程:https://jingyan.baidu.com/article/358570f6a828e9ce4624fc56.html。
2.安装frida运行依赖库及frida-tools
安装frida前先要输入命令安装运行依赖库,pip install numpy matplotlib,后面安装frida需要用到,出现Requirement already satisfied就说明安装成功。
安装完运行库后安装frida-tools,输入命令pip install frida-tools ,成功会有提示。
3.安装frida
输入pip install frida安装最新版本的frida,也可以输入pip install frida==1x.x.x安装指定版本的frida,这里安装有个bug,不会下载frida运行需要的egg文件,命令执行完后需要我们去网站手动下载,因为只有最新版本的egg文件下载,所以初次安装请使用pip install frida安装最新版本。
打开此链接https://pypi.org/project/frida/#files,页面如下图,选择和windows版本和python匹配的egg文件下载,如我是win7 64位系统,python是3.7.2,就选择frida-12.4.0-py3.7-win-amd64.egg下载,如果发现没有和你安装python版本匹配的文件,需要重新安装匹配的python版本,egg文件下载下来备用。
4.运行报错处理
frida安装完成后,运行frida-ps会报错提示找不到对应模块
Failed to load the Frida native extension: DLL load failed: 找不到指定的模块。
Please ensure that the extension was compiled for Python 3.x.
***
Traceback (most recent call last):
File "D:\Python37\Scripts\frida-ps-script.py", line 11, in
load_entry_point('frida-tools==1.1.0', 'console_scripts', 'frida-ps')()
File "d:\python37\lib\site-packages\frida_tools\ps.py", line 6, in main
from frida_tools.application import ConsoleApplication
File "d:\python37\lib\site-packages\frida_tools\application.py", line 19, in <
module>
import frida
File "d:\python37\lib\site-packages\frida\__init__.py", line 24, in
raise ex
File "d:\python37\lib\site-packages\frida\__init__.py", line 7, in
import _frida
ImportError: DLL load failed: 找不到指定的模块。
这个问题网上搜索了很久没有找到解决方案,大都是说安装版本不对,没有告诉应该安装哪个版本,最后当我打开https://pypi.org/project/frida/#files这个网页就明白了,我在python安装目录C:\Program Files\Python37\Lib\site-packages西面没有找到frida-12.4.0-py3.7-win-amd64.egg文件,这个是运行frida所需的文件,执行pip install frida和pip install frida-tools后并没有把这个文件下载下来,所以我们需要手动下载这个文件,把前面下载的frida egg文件拷贝到python安装目录C:\Program Files\Python37\Lib\site-packages,最后执行frida-ps,成功显示电脑当前进程
5.
下载安装frida-server
下载官网
https://github.com/frida/frida/releases,我是android arm32位机器,选择frida-server-12.4.0-android-arm.xz,arm64选择frida-server-12.4.0-android-arm64.xz,运行frida-server需要root权限,先把frida-server可执行文件拷贝或用adb push的方式拷贝到/data/local目录,修改权限,执行命令./frida-server-12.4.0-android-arm &后台运行。
adb connect 192.168.1.xxx
adb push frida-server-12.4.0-android-arm /data/local
adb shell
cd /data/local
chmod 777 frida-server-12.4.0-android-arm
./frida-server-12.4.0-android-arm &
6.转发android TCP端口到本地
转发android TCP端口到本地,PC打开cmd命令行输入
adb connect 192.168.1.xxx
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
现在在命令行输入frida-ps -R,就可以看到android机器的进程列表了,至此,运行环境就搭建好了。