雷电模拟器上使用第一个frida(三)简单的使用实例

news2024/11/19 14:51:41

经过前两篇

雷电模拟器上使用第一个frida(一)之安装-CSDN博客雷电模拟器上使用第一个frida(二)之su超级权限-CSDN博客

本篇开始记录如何使用frida进行hook。

一、先让手机模拟器端的frida server运行起来

虽然是让手机模拟器端的firda server运行起来,但操作还是在pc端,使用adb来操作。

使用adb连接模拟器,进入frida-server-14.2.18-android-x86_64所在的/data/local/tmp路径,

执行./frida-server-14.2.18-android-x86_64即可。

似乎没有什么反应,其实是服务端已经在运行。运行之后,当前cmd窗口不能关闭。

第一个cmd里的整个命令如下(用于操作手机模拟器):

cmd
d:
cd D:/leidian/LDPlayer4/
adb.exe kill-server
adb connect 127.0.0.1:5555 雷电模拟器的默认端口是5555,(逍遥模拟器端口:21503)
adb devices
adb.exe kill-server(雷电模拟器很特殊,需要多执行一次kill-server)
adb devices


adb shell
getprop ro.product.cpu.abi
su
cd /data/local/tmp
ls
./frida-server-14.2.18-android-x86_64

二、pc端设置端口转发

再开一个cmd,第二个cmd执行下面命令,实现端口转发:

d:
cd D:/leidian/LDPlayer4
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

三、pc端编写python代码(本机环境,win10 64,python3.10.4

先写一段最简单的代码

import frida

rdev = frida.get_remote_device()
front_app = rdev.get_frontmost_application()
print(front_app)

结果一上来就报错了

参考了frida安装配置教程_安装指定版本frida-CSDN博客 

应该是python版本过高的原因。本机python版本为3.10.4。

那么,就按要求再安装一个Python3.8.10的环境。

 Download Python | Python.org

安装完成后,将python3.exe改为python38.exe,pip3.exe改为pip38.exe。

路径:

cd C:\Users\LC\AppData\Local\Programs\Python\Python38

python38

cd C:\Users\LC\AppData\Local\Programs\Python\Python38\Scripts

pip38.exe

不过pip38.exe -V报错: 

参考“Fatal error in launcher: Unable to create process using”解决办法-CSDN博客 

步骤1:到scripts目录,将原来的pip.exe文件删掉
步骤2:cmd窗口执行:python38 -m pip install -U pip

执行完毕后,会在scripts目录下,重新生成pip pip3 等文件
(之前的pipxx都不可用)
新生成的都是可用的,随便一个改成pip38.exe

 



在python3.8.10的环境下(路径C:\Users\LC\AppData\Local\Programs\Python\Python38\Scripts)安装frida:

pip38 install frida==14.2.18
pip38 install frida-tools==9.2.5

在pycharm里新增python3.8.10编译器

打开项目,运行代码之前选择3.8.10:



完成上述工作后,重新测试frida,成功。

 

代码:

import frida

#得到android手机当前最前端Activity所在的进程
rdev = frida.get_remote_device()
front_app = rdev.get_frontmost_application()
print(front_app)

#枚举android手机所有的进程
rdev = frida.get_remote_device()
processes = rdev.enumerate_processes()
for process in processes:
    print (process)

最后,在python3.8.10的C:\Users\LC\AppData\Local\Programs\Python\Python38\Scripts目录中,多出了一些关于frida操作的exe文件,可以在cmd下运行,显示手机模拟器的数据。

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

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

相关文章

简单聊一聊一种很新的DCDC电源-BOB电源

在DCDC电路中,除了我们熟悉的Boost Buck 以及Boost-Buck电路外,还存在着一个叫做Boost or Buck的电源,通常简称为BOB电源。 关于BOB电源,网上相关的介绍极少,小白也是在高通的电源芯片规格书中所看到了解到的。 在了…

word调整标题编号

需求 给上面的“能源站群控”编号,自动生成编号 3.3.1.2.3.1 步骤 第一步:选中“空调系统”,右键,段落,查看 空调系统的 大纲级别 第二步:选中“能源站群控”,右键,段落&#xff0…

Rust 流程控制

开发中最常见的用来控制执行流的结构是判断和循环。 判断 Rust 中的 if 表达式允许根据条件执行不同的代码分支,提供一个条件并表示 “如果条件满足,运行这段代码;如果条件不满足,不运行这段代码。” 需要注意的是,…

第三节:利用运行按钮运行VBA代码

《VBA之Excel应用》(10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非…

【算法1-4】递推与递归-P1002 [NOIP2002 普及组] 过河卒

## 题目描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示&#…

物联网AI MicroPython传感器学习 之 TDS水质检测传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 TDS是Total Dissolved Solids的缩写,中文名总溶解固体,也叫溶解性固体总量,他标识1升水中溶有多少毫克的可溶解性固体。一般来说,TDS值越高&…

CVPR 2023 | 数据驱动的解释对分布外数据具有鲁棒性吗?

论文链接: https://arxiv.org/abs/2303.16390 代码链接: https://github.com/tangli-udel/DRE 01. 研究背景:数据驱动的解释对分布外数据具有鲁棒性吗? 近年来,将黑盒机器学习(ML)模型用于高风…

1.14.C++项目:仿muduo库实现并发服务器之Util模块的设计

一、Util模块 二、实现思想 (一)管理 实现一些工具接口读取文件内容向文件写入内容URL编码URL解码通过HTTP状态码获取描述信息通过文件后缀名获取mime判断一个文件是不是目录判断一个文件是否是一个普通文件HTTP资源路径有效性判断 (二&am…

《视觉SLAM十四讲》公式推导(一)

文章目录 CH3 三维空间刚体运动CH3-1 旋转矩阵的推导CH3-2 旋转矩阵是正交矩阵的证明CH3-3 变换矩阵的逆的推导CH3-4 罗德里格斯公式推导 CH3 三维空间刚体运动 CH3-1 旋转矩阵的推导 (1)二维空间中的旋转矩阵 易得 { x ′ ∣ O P ′ ∣ c o s ( θ …

高校教务系统登录页面JS分析——重庆交通大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

云耀服务器L实例部署Discuz!Q论坛|华为云云耀云服务器L实例评测使用体验

文章目录 云耀服务器L实例部署Discuz!Q论坛1. 华为云云耀服务器L实例介绍2. Discuz!Q 简介3. 部署华为云云耀服务器L实例3.1 云耀服务器L实例购买3.1.1 云耀服务器L实例初始化配置3.1.2 远程登录云耀服务器L实例 4. Discuz!Q安装部署4.1 Apache安装4.2 中间件配置4.…

SpringCloud:分布式事务Seata部署和集成

一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html 2.解压 在非中文目录解压缩这个zip包,其目录结构如下: 3.修改配置 修改conf目录下的registry.conf文件: 内容…

【重拾C语言】十三、动态数据组织(二)链表(创建、遍历检索、插入、删除、交换)

目录 前言 十三、动态数据组织 13.1~2 动态数据组织、动态变量 13.3 链表 13.3.1 单向链表—创建 13.3.2 单向链表—遍历检索 13.3.3 单向链表—插入、删除与交换 13.3.4 单向链表—例题 13.3.5 栈和队列 前言 链表是一种常见的动态数据结构,它由一系列节点…

【Kolla-ansible 16.1.0.dev156】部署/评估快速入门(报错的文章,后面不用看了)

Kolla-ansible 16.1.0.dev156 部署/评估快速入门 报错的文章,后面不用看了 主机必须满足以下最低要求: 2 个网络接口 8GB 主内存 40GB 磁盘空间 rootubuntu:~# sudo apt update Hit:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy InRelease Get:2…

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节,双指针算法&#xff0…

Maven 快速入门

文章目录 一、Maven 间接和快速入门1.1 Maven 介绍1.2 Maven 主要作用理解1.3 Maven 安装和配置 二、基于 IDEA 的 Maven 工程创建2.1 梳理 Maven 工程 GAVP 属性2.2 IDEA 构建 Maven JavaSE 工程2.3 IDEA 构建 Maven JavaEE 工程2.4 Maven 工程项目结构说明 三、Maven 核心功能…

巧用正则表达式

文章目录 题目巧用正则表达式,题目将十进制转为16进制,可以采用Java的语法来表示 题目 巧用正则表达式,题目将十进制转为16进制,可以采用Java的语法来表示 String nInteger.toString(num,16); 那如何确定是否都是字母呢a-f呢&…

使用Python创建faker实例生成csv大数据测试文件并导入Hive数仓

文章目录 一、Python生成数据1.1 代码说明1.2 代码参考 二、数据迁移2.1 从本机上传至服务器2.2 检查源数据格式2.3 检查大小并上传至HDFS 三、beeline建表3.1 创建测试表并导入测试数据3.2 建表显示内容 四、csv文件首行列名的处理4.1 创建新的表4.2 将旧表过滤首行插入新表 一…

qml基础语法

文章目录 基础语法例子 属性例子 核心元素元素item RectangleText例子 Image例子 MouseArea例子Component(组件)例子简单变换例子 定位器ColumnRowGridFlowRepeater 布局InputKeys 基础语法 QML是一种用于描述对象如何相互关联的声明式语言。  QtQuick是…

qt-C++笔记之按行读取文件并切换复选框打印复选框拼接出的字符串

qt-C笔记之按行读取文件并切换复选框打印复选框拼接出的字符串 code review! 文章目录 qt-C笔记之按行读取文件并切换复选框打印复选框拼接出的字符串1.运行2.文件结构3.main.cc4.main.pro5.a.txt6.b.txt 1.运行 2.文件结构 3.main.cc 代码 #include <QApplication> #…