爬虫利器Frida RPC入门——夜神模拟器环境篇

2024-05-28 03:36

本文主要是介绍爬虫利器Frida RPC入门——夜神模拟器环境篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Frida是一款轻量级HOOK框架,可用于多平台上,例如android、windows、ios等。

  • frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上。
  • frida上层接口支持js、python、c等。
  • Frida官方github地址为:frida官方github地址

1. 环境构成

1.1. 基础环境

  • Java环境
  • Python环境
    python3.x,推荐3.7以上。
  • 手机开发调试环境
    ADB(Android Debug Bridge)是Android开发和测试过程中不可或缺的工具,它允许开发者和用户通过电脑与Android设备进行通信。

1.2. 模拟器

在安卓手机应用开发和游戏测试领域,模拟器扮演着不可或缺的角色。它们不仅为开发者提供了一个便捷的平台来测试应用,还允许游戏玩家在电脑上享受手机游戏,而不受电池或移动设备性能的限制。以下是市场上几款常用的安卓模拟器,以及它们的一些主要特点:

  1. MuMu模拟器:MuMu模拟器由网易推出,支持Windows和Mac平台。它基于Android 6.0.1内核,提供相对稳定的环境,适配市面上99%的主流手游和应用。MuMu模拟器的另一款产品MuMu手游助手,使用网易自研的星云引擎和Android 7.1内核,提供更强的拓展性和更好的游戏体验。
  2. BlueStacks蓝叠:蓝叠是一款在全球范围内广受欢迎的安卓模拟器,以其良好的兼容性和稳定性著称。支持直到Android 7.1.2的版本,适合游戏应用的开发和测试。同时,蓝叠也因其优秀的游戏体验而受到许多玩家的喜爱。
  3. 夜神Nox模拟器:夜神模拟器支持Windows和Mac平台,提供了全面的优化,确保游戏和应用运行稳定流畅。它支持Android 5.1/7.1/9.0等多个版本,且默认会自动连接ADB,方便开发者进行应用调试。
  4. Genymotion:这是一款面向开发者的高性能安卓模拟器,支持Mac、Windows及Linux操作系统。Genymotion基于x86和VirtualBox,支持OpenGL加速,可以模拟多种Android系统版本和设备类型,非常适合开发者进行应用测试。
  5. 逍遥安卓模拟器:MEmu是一个免费的安卓模拟器,专注于Windows平台。它使用了全新的引擎,性能更强,支持多开挂机,节省资源。支持直到Android 7.1的版本,适合游戏和应用的开发测试。

1.3. Frida

2. 安装部署夜神模拟器

2.1. 安装

首先下载夜神模拟器,然后双击打开.exe安装包。

下载地址:https://www.yeshen.com/

在这里插入图片描述
在“多开管理”中,选中自己需要的安卓版本,例如本列中所用的Android 9.0。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 模拟手机GPS定位

在这里插入图片描述

注:好像不好使!例如接下来使用高德地图,没有定位。

2.3. 设置开发者模式

在这里插入图片描述

打开:工具->设置->系统->关于平板电脑,如下图所示。

注:工具是主界面中的工具,如上图所示。
在这里插入图片描述

连续点击“版本号“位置(如图所示),进入开发者状态。

退回上一步,则可以看到”开发者选项“。
在这里插入图片描述
打开USB调试模式。
在这里插入图片描述

2.4. ADB

夜神模拟器自带的ADB工具,即nox_adb.exe,是用于与模拟器进行通信和操作的一个实用程序。以下是具体如何使用夜神模拟器的自带ADB的步骤:

  1. 找到ADB工具:安装夜神模拟器后,可以通过鼠标右键点击电脑桌面的“夜神模拟器”启动图标,选择“打开文件所在的位置”,进入对应的Nox\bin目录,在这里可以找到nox_adb.exe
  2. 配置环境:确保你的系统环境变量中包含了夜神模拟器的bin目录,这样你就可以在任何命令行窗口中使用nox_adb命令。
  3. 开启开发者模式:在夜神模拟器中启用USB调试功能。这通常在模拟器的设置中的“开发者选项”里。如果没有看到开发者选项,尝试在关于模拟器的页面中连续点击版本号以激活它。
  4. 连接模拟器:通过命令提示符(cmd)或PowerShell进入夜神模拟器的bin目录。例如,如果你的夜神模拟器安装在D盘的D:\Program Files\Nox\bin目录下,可以在资源管理器地址栏输入cmd并回车,或者直接在该目录下按住Shift并单击鼠标右键选择“在此处打开命令窗口(W)”[4]。
  5. 使用ADB命令:在命令行窗口中,可以使用nox_adb.exe来执行各种ADB命令。例如,要查看已连接的设备,可以运行nox_adb devices。如果启动了多个模拟器实例,它们将按端口号列出。若要指定连接到某个模拟器,可以使用nox_adb -s 127.0.0.1:端口号的命令格式。例如,如果要连接到端口号为62001的模拟器,则输入nox_adb devices
  6. 多开模拟器操作:如果有多个夜神模拟器实例在运行,需要指定要操作的模拟器实例。你可以通过之前提到的端口号来实现这一点,如nox_adb -s 127.0.0.1:62025针对第二个实例进行操作。

Nox\bin(说明:这是你的夜神模拟器安装路径)

D:\Program Files\Nox\bin>nox_adb devices
List of devices attached
127.0.0.1:62025 device

注,网上常见端口是62001,一般是默认的Android7的系统,我在这里换上了Android9,对应的端口也就变了。

D:\Program Files\Nox\bin>nox_adb connect 127.0.0.1:62025
already connected to 127.0.0.1:62025

查看设备列表:

PS D:\Program Files\Nox> adb devices -l
List of devices attached
127.0.0.1:62025        device product:d2que model:SM_N976N device:d2q

3. Frida安装

首先,安装python3.7并配置好环境变量(官方推荐python3以上版本至少为3.7),python安装包官方下载地址:https://www.python.org/downloads/。

3.1. 安装frida客户端模块

命令为pip install frida(配置了多个python版本环境的可以使用命令python -m pip install frida防止用pip install frida命令报错)。

官方说明文档,https://frida.re/docs/home/

3.2. 安装frida-server

首先,从我们的发布页面下载最新的frida-server for Android并解压它。

例如下载文件为frida-server-16.2.5-android-x86_64.xz,解压后为单独文件frida-server-16.2.5-android-x86_64,修改文件名为frida-server

接着,我们需要连接Android设备到计算机,并使用adb将Frida Server推送到设备上:

D:\Program Files\Nox\bin>adb push D:\01workspace\12amap\frida-server /data/local/tmp
[100%] /data/local/tmp/frida-serverD:\Program Files\Nox\bin>adb shell
d2q:/ # cd /data/local/tmp
d2q:/data/local/tmp # chmod 755 /data/local/tmp/frida-server

以root权限启动frida-server:

d2q:/data/local/tmp # ./frida-server

新开一个命令行输入命令adb shell procrank查看手机进程,如果出现以下结果,则frida安装成功。
在这里插入图片描述

或者:新开一个命令行输入命令frida-ps -U查看手机进程,如果出现以下结果,则frida安装成功。
在这里插入图片描述

这篇关于爬虫利器Frida RPC入门——夜神模拟器环境篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex