手机和模拟器的 Frida 环境配置

目录

[一、配置 JDK 和 android 环境](#一、配置 JDK 和 android 环境)

二、连接设备和查看权限

1、连接设备

2、查看手机权限

[三、手机配置 Frida](#三、手机配置 Frida)

1、frida-server下载

2、验证

[四、模拟器配置 Frida](#四、模拟器配置 Frida)

1、下载模拟器并调节成手机版:

2、连接并查看架构

[3、配置并开启 x86 的 frida-server](#3、配置并开启 x86 的 frida-server)

4.转发端口,进行监听

5、实验一下

五、配置客户端


因为要学习手机端的自动化,所以来学习 Frida,建议直接看第一和第四。

一、配置 JDK 和 android 环境

链接:配置 JDK 和 Android SDK-CSDN博客

二、连接设备和查看权限

1、连接设备

  1. 拿出你的手机-----打开手机设置------找到关于手机-------一直点击版本号直到出现提示,华为的点击 harmonyOS 版本(型号代码下方的);

(2) 打开手机的开发者选项(华为的在系统与更新里面),该开的开(USB调试、仅充电模式下允许ADB调试),该关的关,特别是 USB 调试这里一定要打开。

(3) 测试是否连接成功,在终端输入'adb devices -l',查看连接的设备,如果列表为空,检查一下是不是有以上原因(1)(2)。(如果出现error: no devices found,参考链接:学习使用 Frida 过程中出现的问题-CSDN博客)

连接成功也可以看到此电脑下出现设备

2、查看手机权限

你可以使用 adb 命令来检查设备是否已 root:

adb shell whoami

如果返回 root,则表示设备已 root。如果返回 shell,则表示设备未 root。

使用 adb shell 进入设备后,输入 su,若出现如下:

表明要开启权限,没开启(配置 Frida 也没用),开启 root 参考:华为android手机root,华为手机怎么root-CSDN博客 等等。root 需谨慎。

本人自己也没搞好,真难,因为手机有用,准备换模拟器,看第四点。

三、手机配置 Frida

1、frida-server下载

下载链接:Releases · frida/frida · GitHub

注意问题:有时候可能遇到跳转到gitcode的链接,gitcode上似乎只有源码,不清楚是什么。

我下载的是最新版本之前的一个版本,如下所示:四个分别是ARM 架构32位、 64位、 Intel x86 架构的32位、64位,我们手机一般是ARM64架构,所以下载 arm64的。查看架构,使用命令:

adb shell getprop ro.product.cpu.abi

下载,解压后,查看下载文件状态,文件名很长

把它作为 frida 服务端环境,推到手机的 /data/local/tmp 目录。在该文件所在文件夹 cmd,输入下方命令。(要查看删除手机中的特定文件夹下的文件,可参考:adb shell进入设备后的命令-CSDN博客)

adb push frida-server-16.3.1-android-arm64 /data/local/tmp/

修改文件权限为755:

adb shell chmod 755 /data/local/tmp/frida-server-16.3.1-android-arm64

2、验证

使用命令 frida-ps -U,出现如下图所示,表明配置安装成功。

四、模拟器配置 Frida

参考链接:夜神模拟器安装frida-server图文详解-CSDN博客

1、下载模拟器并调节成手机版:

链接:夜神安卓模拟器-手游模拟器电脑版_夜神模拟器官网

2、连接并查看架构

到 bin 目录,右键在终端打开后者上方 cmd打开命令行窗口

连接:

adb connect 127.0.0.1:62001

查看架构

adb shell getprop ro.product.cpu.abi

3、配置并开启 x86 的 frida-server

下载,解压,在解压后的目录里打开cmd,输入 adb connect 127.0.0.1:62001连接:

使用命令将 frida-server 放入模拟器中:

adb push frida-server-16.3.1-android-x86 /data/local/tmp/

查看模拟器中文件等命令可参考:adb shell进入设备后的命令-CSDN博客

之后使用以下命令

adb shell

su

cd /data/local/tmp

chmod 755 frida-server-16.3.1-android-x86

./frida-server-16.3.1-android-x86

运行命令,返回以下信息则说明已经运行中(即:成功启动了frida-server),这个shell(cmd窗口)不能关闭,否则 frida 就关了。

4.转发端口,进行监听

另开一个cmd命令窗口,在夜神模拟器安装目录 bin 下打开cmd,输入 adb connect 127.0.0.1:62001

转发端口,进行监听

adb forward tcp:27042 tcp:27042

adb forward tcp:27043 tcp:27043

查看进程,frida-ps -U 输出说明已经安装成功

5、实验一下

下载一个软件,例如拼多多。打开拼多多

在命令窗口使用命令,查看正在运行的服务:

adb shell dumpsys activity | findstr "mResume"

使用以下命令跟踪pinduoduo里的Open()函数(这时候要保持frida-server是开启着的):

frida-trace -U -i open -N com.xunmeng.pinduoduo

可以看到主控端的命令行关于 open() 的输出了:

  • 现在可以实时的修改JavaScript脚本,并且在Android的App里面深挖了。

五、配置客户端

在 PC 上安装 Python 的运行环境,安装完成后执行下面的命令安装 frida

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple frida==16.3.1#版本尽量相同
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple frida-tools
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple objection

文章会随着本人学习程度的加深而更新,欢迎关注和收藏。文章到此结束,谢谢大家,有问题,欢迎讨论。

相关推荐
CYRUS STUDIO2 个月前
frida脚本,自动化寻址JNI方法
android·运维·自动化·逆向·移动安全·jni·frida
白乐天_n3 个月前
FRIDA-JSAPI:Java使用
java·jsapi·frida
九月镇灵将4 个月前
app逆向抓包技巧:关于混淆后app无法绕过sslpinning的解决方案
frida·app逆向·okhttp3·app混淆
韩曙亮6 个月前
【错误记录】Android 应用漏洞修复处理 ( 动态反调试漏洞 | 调用 Debug.isDebuggerConnected 函数查询是否被动态调试 )
android·动态调试·攻击·漏洞·hook·frida·xposed
hcgeng6 个月前
Mac OS 安装frida
macos·frida
stoneWang_L8 个月前
Frida入门笔记
安全·逆向·frida
夜猫逐梦8 个月前
【Frida】【Android】 10_爬虫之WebSocket协议分析
android·爬虫·websocket·网络协议·逆向·objection·frida
夜猫逐梦9 个月前
【Frida】【Android】08_爬虫之网络通信库okhttp3
android·爬虫·逆向·抓包·objection·frida·okhttp3
夜猫逐梦9 个月前
【Frida】【Android】03_RPC
android·rpc·frida