【Frida Android】基础篇1:基础环境配置
文章目录
- 1 模拟器环境
- 2 ADB 环境
- 2.1 下载与安装
- 2.2 配置环境变量
- 3 连接模拟器
- 4 关于使用 Magisk
- 5 Frida 环境
- 5.1 Frida Server(设备端)
- 5.1.1 确认 CPU 架构
- 5.1.2 下载与部署
- 5.1.3 验证启动
- 5.2 Frida Client(本地客户端)
- 5.2.1 安装 Python 环境
- 5.2.2 安装 frida 客户端
- 5.2.3 验证连接
- 6 Q&A
⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。
1 模拟器环境
为获取系统 Root 环境用于 Frida 的学习研究,可通过模拟器实现。
若在公司,可通过专用解锁软件 Root 真机后,直接跳转至第 5 章 Frida 环境配置。
模拟器推荐使用 MuMu 模拟器,其兼容 Win/Mac/ARM 全平台,且支持 Android 12 版本(笔者在 Win 环境使用 MuMu 5.7.0 版本演示)。
官方下载地址:https://mumu.163.com/download/
2025年10月笔者使用最新的 5.7.0 版本,完成安装后查看模拟器配置,可看到设备支持 2 个端口:
进入默认的 MuMu 安卓设备:
查看默认机型为华为 Pura 70(型号 HBP):
开启 Root 权限的步骤:
- 打开 Root 权限开关;
- 重启模拟器的安卓设备。
2 ADB 环境
2.1 下载与安装
下载官方 Android Studio:https://developer.android.google.cn/studio?hl=zh-cn
首次运行后需配置 Android SDK 路径:
2.2 配置环境变量
-
将 SDK 路径下的
platform-tools
目录(含adb.exe
)配置到环境变量中:
-
验证配置:在命令行中执行
adb version
,若出现如下信息则配置成功:Android Debug Bridge version 1.0.41 Version 36.0.0-13206524 Installed as D:\DEV\AndroidSDK\platform-tools\adb.exe Running on Windows 10.0.26100
3 连接模拟器
结合官方教程(https://mumu.163.com/help/20230214/35047_1073151.html),推荐使用 16384 端口连接模拟器并进入 shell 命令行,步骤如下:
# 查看连接设备
adb devices# 若上一步显示有模拟器设备,直接进入设备shell
adb shell# 若上一步未显示模拟器设备,手动连接后进入shell
adb connect 127.0.0.1:16384
adb shell# 切换至root权限
su
进入 Shell 后,设备名称为 HapburnP(与模拟器设备 Pura 70 的型号一致,Pura 70 是 2024 年发布的设备),需检查能否成功获取 root 权限:
4 关于使用 Magisk
Magisk 是一款 Root 管理软件。若需在 MuMu 模拟器中安装,需删除模拟器自带的 su
(操作不可逆)。当前阶段可暂不安装,操作指导参考:https://mumu.163.com/mac/tutorials/how-to-use-magisk-on-mac.html
5 Frida 环境
Frida 是一种动态插桩工具,可插入代码到原生 App 的内存空间,动态监视和修改其行为。官方地址:https://frida.re/
5.1 Frida Server(设备端)
5.1.1 确认 CPU 架构
在模拟器 shell 中执行以下命令,确认架构(当前模拟器为 x86_64):
getprop ro.product.cpu.abi
5.1.2 下载与部署
- 下载对应架构的 frida-server 二进制文件:
官方地址:https://github.com/frida/frida/releases
展开所有资源,根据 CPU 架构选择(模拟器选frida-server-17.3.2-android-x86_64.xz
,公司真机通常选frida-server-17.3.2-android-arm64.xz
,此处以 17.3.2 版本 x86_64 架构为例)。
-
解压文件并改名为
frida-server
,推送至模拟器并启动:# 将文件推送到模拟器的 /data/local/tmp adb push frida-server /data/local/tmpadb shell su cd /data/local/tmp# 赋予执行权限 chmod 755 frida-server# 后台启动 ./frida-server &
5.1.3 验证启动
启动成功后,执行 ps | grep frida-server
命令,查看是否能匹配到对应进程(示例中 2798 为进程号 PID):
5.2 Frida Client(本地客户端)
5.2.1 安装 Python 环境
官方下载地址:https://www.python.org/
5.2.2 安装 frida 客户端
通过 pip 安装:
pip install frida-tools
安装完成后版本信息如下:建议 frida 版本(17.3.2)与前面的 frida-server 版本一致
5.2.3 验证连接
打开新的命令行窗口,使用 frida-ps -U
查看模拟器运行的所有进程,若成功显示则连接正常:
frida-ps -U
6 Q&A
问题:执行 adb 命令报错,且端口未被占用(netstat -aon|findstr 5037
返回内容为空):
adb devices# 报错信息
* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
adb.exe: failed to check server version: cannot connect to daemon
解决方法:
-
添加或修改环境变量
ANDROID_ADB_SERVER_PORT
,值设为 10001(推荐大于 10000):
-
重启电脑生效。
-
启动 MuMu 模拟器后,执行
adb devices
验证,正常显示如下:List of devices attached emulator-5554 device