[Frida入门教程] 一文搞定Frida环境搭建,基于逍遥模拟器(虚拟设备)和ADB(Android Debug Bridge)

本文主要是介绍[Frida入门教程] 一文搞定Frida环境搭建,基于逍遥模拟器(虚拟设备)和ADB(Android Debug Bridge),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章流程

  • 搭建 Frida 工作环境 [Windows]
    • 操作环境与资源
      • 本文所用fs(Frida-server)文件
    • 各工具环境搭建/安装方法
    • 开始搭建Frida环境
      • 1. push fs(Frida-server) 文件至虚拟设备
        • 实际操作图 (push / 必看)
      • 2. 给予 Frida-server 最高权限
        • 实际操作图(chmod / 必看)
      • 3. 运行 Frida-server
    • 全部操作流程
    • 验证Frida-server工作

搭建 Frida 工作环境 [Windows]

  • 本文含有大量图片与文字描述,对新手较友好,但可能会略显臃肿,可酌情跳读。

  • 本文更新于 2022/6/8 ,使用工具均为最新版。

  • 本文首发CSDN,禁止搬运,转载!

原作者: @漫游感知 [https://blog.csdn.net/qq_45429426]


操作环境与资源

在正式开始前,需要先了解本文开发环境并下载一些必要的工具!

操作系统:Windows 10
解释器: Python 3.7x
Frida-server 版本15.1.24 (点击版本号跳转至Github,请确保Frida-server与本地Frida版本对应,架构版本确认方法请看下文【逍遥模拟器为 x86_64
ADB(Android Debug Bridge):点我下载,免费不限速 (蓝奏云链接)
逍遥模拟器: 跳转官网下载 (Version:8.x)

本文所用fs(Frida-server)文件

本文所用 frida-server-15.1.24-android-x86_64 点击蓝字下载(蓝奏云链接)


各工具环境搭建/安装方法

Python:没什么可说的,安装Python3即可,唯一需要注意的就是保证pip可以正常工作

Frida 安装指令(如果下载慢或失败,请加上 -i 参数换源):
pip install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple
[installing]
安装后在 CMD 输入 frida --version 出现下图反应代表安装成功
installed

ADB(Android Debug Bridge) 环境搭建:
在前文下载好压缩包后解压至任意路径路径最好不要含有中文

1.解压后文件夹目录如下图所示:ADB 解压目录
2.复制ADB文件路径,配置环境变量
ADB 路径
3
4
CMD中输入 adb --version 出现下图反应代表完成环境设置
cndver
逍遥模拟器虚拟设备设置
1.安装完成后,启动逍遥模拟器,检测root权限是否开启(默认开启)
Root
2.开启开发者模式并开启USB调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

逍遥模拟器设置结束


开始搭建Frida环境

在确保上述步骤均成功的情况下,我们开始搭建Frida工作环境(部署Frida)

下文所用文件均在前文 操作环境与资源 中免费给出,可自行下载,无限速

1. push fs(Frida-server) 文件至虚拟设备

逍遥模拟器的虚拟设备默认端口为 21503 每增加一个虚拟设备,其端口号“加10”,如第一个虚拟设备的端口是21503,那么第二个虚拟设备的端口就是21513

  1. 先终止一下ADB服务
adb kill-server
  1. 通过指令链接到逍遥模拟器
adb connect 127.0.0.1:21503
  1. 列出已知设备
adb devices
  1. 链接设备(注意!请确保已按照上文方法开启【USB调试】如果显示已知设备不唯一,则可以通过 -s <设备> 参数指定设备,如:adb -s 127.0.0.1:21503 shell
adb shell

获取设备架构信息(用于确认Frida-server版本)指令
adb shell 成功后,在shell对话中输入 getprop ro.product.cpu.abi 即可获取设备架构信息
获取架构信息后,再与安装的Frida版本结合,便可前去Github下载
其Frida-server文件命名格式如下:
frida-server-<Frida版本>-android-<设备架构版本>.xz
你也可以选择安装Frida15.1.24版本,使用前文给出配文Frida-server文件

  1. push fs(Frida-server)文件至 /data/local/tmp
  • exit 退出shell会话
  • 再输入 adb push <Frida-server 文件绝对路径> /data/local/tmp

至此 push fs 文件完成


实际操作图 (push / 必看)

push


2. 给予 Frida-server 最高权限

  1. 输入 adb shell 再次打开shell会话
  2. 输入 cd /data/local/tmp 进入 Frida-server(fs)所在目录
  3. ls 列出目录下文件 / ls -l 列出目录下文件权限
  4. 输入 chmod 777 fs 给予 Frida-server 最高权限
  5. ls -l 一下,看fs文件权限是否改变为-rwxrwxrwx

实际操作图(chmod / 必看)

chmod


3. 运行 Frida-server

1. 先cd到Frida-server (fs)文件所在目录,再输入 ./fs (前文操作已经到达fs文件目录,无需再cd)

注意!!!一旦输入 [./fs] 后,不要关闭此CMD窗口!不然Frida-server会停止运行!


全部操作流程

frida inited


验证Frida-server工作

  1. 新开启一个CMD
  2. 输入 adb forward tcp:27042 tcp:27043 进行端口转发(一般不转发也没事)
  3. 再输入 frida-ps -U ,令其列出所有进程

如果响应如下图所示,则代表Frida-server 正常工作 / Frida 环境搭建完成!!!
show process


至此,本文结束。如果文中出现错误,还望指出!

原作者: @漫游感知 [https://blog.csdn.net/qq_45429426]


这篇关于[Frida入门教程] 一文搞定Frida环境搭建,基于逍遥模拟器(虚拟设备)和ADB(Android Debug Bridge)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397256

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio