爬虫利器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安装成功。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL数据库】存储过程实战——图书借阅系统

图书借阅归还 借阅不用count判断,归还不用具体字段值判断 每次借阅或者归还只能操作1本 数据准备 -- 创建数据库 create database db_test3 CHARACTER SET utf8 COLLATE utf8_general_ci; -- 使用数据库 use db_test3; -- 创建图书信息表: create tabl…

鸿蒙高级题库

判断题 1、云函数打包完成后,需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用 (错) 2、在column和Row容器组件中,aligntems用于设置子组件在主轴方向上的对齐格式,justifycontent用于设置子组件在交…

帆软生成csv文件

帆软官网提供了导出csv文件的插件,需要下载指定版本的插件 请选择具体的详情点击官网介绍:文档介绍 插件地址:插件地址

免费分享一套SpringBoot+Vue企业客户关系CRM管理系统【论文+源码+SQL脚本+PPT】,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue企业客户关系CRM管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue企业客户关系CRM管理系统系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue企业客户关系CRM管…

表空间[MAIN]处于脱机状态

达梦数据库还原后&#xff0c;访问数据库报错&#xff1a;表空间[MAIN]处于脱机状态 解决方法&#xff1a; 1&#xff1a;检查备份文件 DMRMAN 中使用 CHECK 命令对备份集进行校验&#xff0c;校验备份集是否存在及合法。 ##语法&#xff1a;CHECK BACKUPSET <备份集目录…

Linux IO模型深度解析与实战应用

linux的5种IO模型 一、这里IO是什么 操作系统设有用户态与内核态,确保系统安全。应用程序默认在用户态运行,而执行如IO操作等底层任务时,需切换至内核态以高效执行。 服务器从网络接收的大致流程如下: 1、数据通过计算机网络来到了网卡 2、把网卡的数据读取到 socket 缓…

【CSS】input宽度根据内容自适应

目标&#xff1a;纯css实现以下功能 input 设置width:min-content | max-content&#xff1b;//无效 ∵ 文本输入框通常会被浏览器渲染为具有固定宽度的控件。 解决方法&#xff1a;设置input的宽高都为100%&#xff0c;让它随着父元素的宽高改变。 父元素如何改变呢&#xf…

企企通入选第一新声《2024年中国CIO数字化产品选型白皮书》供应链数字产品可信名录

近日&#xff0c;第一新声研究院根据多年产业数字化研究&#xff0c;历经近半年时间&#xff0c;并综合近200位CIO调研与推荐意见&#xff0c;发布《2024年中国CIO数字化产品选型白皮书》&#xff0c;并推出企业CIO选型指南及可信产品名录。企企通凭借其优秀的采购数字化与供应…

让全世界都能使用你的代码:Python 模块上传 PyPI 全攻略(一步步带你发布自己的 Python 模块到 PyPI)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 PyPI 发布教程 📒📝 什么是 PyPI📝 模块的结构和必备文件📝 打包你的模块📝 上传到 PyPI📝 配置 PyPI 账号📝 解决常见问题⚓️ 相关链接 ⚓️📖 介绍 📖 你是否曾经想过,自己写的 Python 模块也能发布到 Py…

【乐吾乐3D可视化组态编辑器】模型类型与属性

编辑器地址&#xff1a;3D可视化组态 - 乐吾乐Le5le 本章主要为您介绍模型的属性功能。 一个模型至少会包含一个节点&#xff08;Node&#xff09;&#xff0c;从节点类型上可以分为转换节点&#xff08;TransformNode&#xff09;、网格&#xff08;Mesh&#xff09;、实例网…

【脑洞大开】Typora Plugin给你的Typora插上翅膀

很厉害的插件&#xff0c;好几个都是我想有但是没有支持的插件&#xff0c;比如标签页&#xff0c;全局关键字高亮 目前支持的功能&#xff1a; 序号插件功能1window_tab标签页管理2search_multi全局多关键字搜索3multi_highlighter多关键字高亮4collapse_paragraph章节折叠5c…

Linux定期清理nginx 日志

为了在Linux系统上定期清理Nginx日志&#xff0c;可以使用cron定时任务来自动执行日志清理脚本。以下是详细步骤&#xff1a; 1. 创建日志清理脚本 首先&#xff0c;创建一个脚本&#xff0c;用于归档和清理旧的Nginx日志。例如&#xff0c;将其命名为 /usr/local/bin/clean…

正确解决java.lang.NoSuchMethodException异常的有效解决方法

正确解决java.lang.NoSuchMethodException异常的有效解决方法 文章目录 报错问题报错原因解决方法 报错问题 java.lang.NoSuchMethodException异常 报错原因 java.lang.NoSuchMethodException 异常在 Java 中表示尝试通过反射&#xff08;java.lang.reflect 包&#xff09;调用…

【Sql Server】随机查询一条表记录,并重重温回顾下存储过程的封装和使用

大家好&#xff0c;我是全栈小5&#xff0c;欢迎来到《小5讲堂》。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言随机查询语…

小程序大能量:盲盒平台搭建与营销策略

一、引言 在移动互联网的浪潮下&#xff0c;小程序以其轻量级、即用即走的特点&#xff0c;成为了商家与消费者沟通的新桥梁。盲盒经济作为近年来兴起的消费趋势&#xff0c;结合小程序平台&#xff0c;不仅为用户带来了全新的购物体验&#xff0c;也为商家带来了更多的商业机…

k8s安装metrics组件

安装完dashboard之后&#xff0c;可以看到k8s所有组件&#xff0c;但各组件cpu内存使用量没有值&#xff0c;还需要安装metrics组件才行,安装完metric就可以看到各node以及pod的cpu/mem实时使用量了 下面是如何安装metrics 下载Metrics Server 配置文件 wget https://github.c…

leetCode.84. 柱状图中最大的矩形

leetCode.84. 柱状图中最大的矩形 题目思路 代码 class Solution { public:int largestRectangleArea( vector<int>& h ) {int n h.size();vector<int> left( n ), right( n );stack<int> st;// 求每个矩形的第一个小于左边界的矩形 - 用单调栈for ( …

颠仆流离学二叉树1 (Java版)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)

数码论坛系统 目录 基于SprinBootvue的数码论坛系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2 管理员功能模块 3 用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&am…

盲人心理辅导课程:心灵的引路人

在这个快节奏的社会中&#xff0c;技术的每一次跃进都在悄然改变着人们的生活方式&#xff0c;尤其对于盲人群体&#xff0c;一款名为“蝙蝠避障”的辅助软件成为了他们探索世界的得力助手。通过实时避障与拍照识别功能&#xff0c;“蝙蝠避障”不仅保障了盲人朋友的日常安全&a…