当前位置: 首页 > news >正文

【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 权限的步骤:

  1. 打开 Root 权限开关;
  2. 重启模拟器的安卓设备。

在这里插入图片描述

2 ADB 环境

2.1 下载与安装

下载官方 Android Studio:https://developer.android.google.cn/studio?hl=zh-cn

首次运行后需配置 Android SDK 路径:
在这里插入图片描述

2.2 配置环境变量

  1. 将 SDK 路径下的 platform-tools 目录(含 adb.exe)配置到环境变量中:
    在这里插入图片描述

    在这里插入图片描述

  2. 验证配置:在命令行中执行 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 下载与部署

  1. 下载对应架构的 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 架构为例)。

在这里插入图片描述

  1. 解压文件并改名为 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

解决方法

  1. 添加或修改环境变量 ANDROID_ADB_SERVER_PORT,值设为 10001(推荐大于 10000):
    在这里插入图片描述

  2. 重启电脑生效。

  3. 启动 MuMu 模拟器后,执行 adb devices 验证,正常显示如下:

    List of devices attached
    emulator-5554   device
    
http://www.dtcms.com/a/462268.html

相关文章:

  • YOLOv11安卓目标检测App完整开发指南
  • 鸿蒙NEXT实战:使用公共事件实现跨进程通信
  • npm升级提示error engine not compatible with your version of node/npm: npm@11.6.2
  • 我的网站为什么打不开怎么回事啊携程做旅游的网站
  • 网站推广的表现方式网站开发需要用到哪些设备
  • 缓存大杀器-redis
  • 网站建设管理方案网站开发与app开发的区别
  • 装修公司网站制作大数据营销成功案例
  • 【STM32】I2C通信—硬件外设
  • 脚手架学习
  • 做网站好还是做淘宝好现在手机网站用什么做的
  • 建设行业网站平台的瓶颈网站网页
  • 【Linux】线程概念与控制(2)
  • vue项目发布后图标乱码解决方案
  • 成都手机网站重庆本地建站
  • UI设计(二)赛博科技修仙通讯录——东方仙盟筑基期
  • 实时数仓历史数据优化
  • 网站建设在哪能看企业网站建立流程的第一步是什么
  • 告别手动配置:用 Terraform 定义你的 RustFS 存储帝国
  • 36.Linux Shell编程
  • AI智能体赋能社会科学研究领域之仿真:心智疆域的重塑与伦理韧性机制的建立
  • daily notes[81]
  • 常用命令和tricks
  • 【AI编程前沿】人类编写代码 vs AI生成代码:质量、漏洞与复杂度的大规模比较研究
  • 黑龙江建设人力资源网站网站建设及安全制度
  • 广州市增城建设局网站怎样开发一个app软件
  • 机器视觉Halcon3D中add_deformable_surface_model_reference_point的作用
  • 设计一个简单的旅游网站全网拓客app
  • 从零到一构建高可用微服务架构的核心实践与挑战
  • 【深入浅出PyTorch】--4.PyTorch基础实战