[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

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期