安卓模拟器Frida环境搭建 (mumu+adb+frida)

安卓模拟器Frida环境搭建 (mumu+adb+frida)


针对apk抓包问题,有的时候Android9已经不适用于现在的需求,需要更高的Android版本,mumu模拟器提供了Android12的版本,这里详细说一下配置过程。

mumu模拟器安装

官网地址:https://mumu.163.com/
在这里插入图片描述下载mumu模拟器
在这里插入图片描述

选择自定义安装
在这里插入图片描述
安装为自己需要的路径
在这里插入图片描述
安装好以后先打开mumu模拟器,开始模拟器的root模式,找到设置中心
在这里插入图片描述
在其他里面开启root权限
在这里插入图片描述

adb与frida下载

adb下载网址:https://adbdownload.com/
frida下载网址:https://github.com/frida/frida/releases
本人电脑是windows所以选择Windows版本进行下载
在这里插入图片描述
在这里插入图片描述frida因为需要搭配本地的pip库使用(注意python版本需要大于3.7),所以服务端需要与本地pip版本进行匹配,例如本地下载为16.0.11的版本,找到frida-server-16.0.11-android-x86_64进行下载
在这里插入图片描述
在使用frida工具前,需要在python中安装frida

pip3 install frida
pip3 install frida-tools

指定版本情况下命令为

pip3 install frida==16.0.11
pip3 install frida-tools

ctrl+r,启动cmd
在这里插入图片描述
安装frida所需要库
在这里插入图片描述
找到自己的python安装目录下的Scripts文件夹,如果出现frida.exe,说明已经安装成功
在这里插入图片描述
frida -h验证
在这里插入图片描述

mumu+adb+frida配置

将adb解压出来的文件全部放到mumu模拟器下的shell文件夹中,注意是全部
在这里插入图片描述
当前目录下启动cmd,然后去mumu模拟器的问题诊断中找到adb调试端口在这里插入图片描述

在这里插入图片描述
cmd中运行连接模拟器(注意后面的16384为mumu模拟器的adb调试端口)

adb.exe connect 127.0.0.1:16384

在这里插入图片描述
查看连接的设备 adb.exe devices
在这里插入图片描述
将下载的frida-server-16.0.11-android-x86_64解压后放到mumu模拟器shell目录下,与adb同一目录,注意一定是解压后的
在这里插入图片描述
将frida上传到模拟器下的/data/local/tmp目录

adb.exe push frida-server-16.0.11-android-x86_64 /data/local/tmp

在这里插入图片描述
利用adb中的shell连接上模拟器

adb.exe shell

在这里插入图片描述
现在是普通用户,我们需要提升到root权限,输入su(注意mumuMonique输入su后会弹窗让你确认权限,一定要允许)在这里插入图片描述

先进入刚才上传的/data/local/tmp目录

cd /data/local/tmp/

在这里插入图片描述
给frida执行权限

chmod 777 frida-server-16.0.11-android-x86_64

在这里插入图片描述
运行

./frida-server-16.0.11-android-x86_64

在这里插入图片描述
在mumu模拟器shell目录下再启动一个cmd窗口,注意之前那个窗口不能关,关的话frida就下线了,在新启动的命令行中进行端口转发

adb.exe forward tcp:27043 tcp:27043

在这里插入图片描述
随便起一个cmd窗口,使用 frida-ps 命令检查frida是否成功开启

frida-ps -U 查看正在运行进程
frida-ps -Uai 列出安装的程序
frida-ps -Ua 列出运行中的程序

在这里插入图片描述
开启frida-server时可能链接失败,把模拟器和adb重启后再走一遍流程即可
注意frida与frida-server的版本需要一致,可用 frida --version 查看版本

一般的报错

未开启root权限
在这里插入图片描述

实战

接下来就可以对apk进行hook了,将apk放进安卓模拟器,启动一下,利用frida-ps -Ua 列出运行中的程序
在这里插入图片描述

frida -U -f com.example.challengemobile -l hook.js

在这里插入图片描述

### 准备工作 为了在MUMU模拟器中使用Frida进行插桩调试,需确保已下载适合的`frida-server`版本。对于MUMU模拟器而言,应选择适用于Android x86架构的服务器端文件,例如`frida-server-12.8.6-android-x86.xz`[^1]。 ### ADB连接配置 建立与MUMU模拟器的有效通信至关重要。这通常涉及重启ADB服务以及进入设备shell的操作: ```bash ./adb kill-server && ./adb start-server && ./adb shell ``` 上述命令序列用于终止现有ADB进程、启动新实例并与模拟器创建Shell会话[^2]。 ### Frida Server部署 完成ADB设置之后,在模拟器内执行以下步骤来部署`frida-server`: 1. 将解压后的`frida-server`推送至模拟器中的任意目录; 2. 修改其权限以便能够被执行(`chmod 755 /path/to/frida-server`); 3. 启动该服务(`/data/local/tmp/frida-server &`); 这些指令允许Frida监听来自外部程序的请求,并准备接收即将注入的目标应用。 ### Python脚本编写与执行 当一切就绪后,可以着手编写Python脚本来实现具体的插桩逻辑。在此之前,请确认目标应用程序已经在模拟器环境中正常启动。随后可以在命令提示符窗口输入如下命令启动脚本: ```python python my_script.py ``` 此过程依赖于先前构建好的环境基础之上,利用Frida API动态修改或监控指定的应用行为[^3]。 ### 高级功能扩展 考虑到某些场景下的特殊需求,比如持续性的网络数据交换或是更复杂的交互模式,可能会引入额外的技术组件如NPS+NanoHTTPD或者Xposed+Sekiro等方案作为补充手段。不过这类增强型特性并非本次讨论的重点所在[^4]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七堇墨年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值