JS逆向 Frida - 夜神模拟器安装配置 基本使用

news2025/2/26 9:30:05

JS逆向 Frida - 夜神模拟器安装配置 基本使用


文章目录

  • JS逆向 Frida - 夜神模拟器安装配置 基本使用
  • 前言
  • 一、Frida简单介绍?
    • 1.Frida是什么
    • 2.Frida原理(建议了解一下,否则后续的安装会有些懵懂)
  • 二、Frida下载
    • 1.pip安装frida模块
    • 2.查看本地的frida版本,需要与模拟器端/手机端的版本对应,否则会出错
    • 3.frida下载
  • 三、Frida安装
    • 1.通过MT管理器将证书配置到模拟器中
    • 2.模拟器端启动frida-server
    • 3.连接并转发端口
  • 总结


前言

Frida 是一款基于 Python + JavaScript 的 Hook 与调试框架,实现app逆向的强大工具;
模拟器下载安装教程:https://blog.csdn.net/EXIxiaozhou/article/details/127767808


提示:以下是本篇文章正文内容,下面案例可供参考

一、Frida简单介绍?

1.Frida是什么

Frida是一款易用的跨平 Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种 动态 的插桩工具;
静态二进制插桩:在程序执行前插入额外的代码和数据,生成一个永久改变的可执行文件;
动态二进制插桩:在程序运行时实时地插入额外代码和数据,对可执行文件没有任何永久改变;
可以插入代码到原生 App 的内存空间中,动态的去监视和修改行为;
原生平台包括 Win、Mac、Linux、Android、iOS 全平台;
1、使用frida可以获取进程的信息(模块列表,线程列表,库导出函数);
2、可以拦截指定函数和调用指定函数,可以注入代码;
3、Frida的主要工作方式是将脚本注入到目标新的进程中,而且在执行过程中可以实时看到其中的变化;

2.Frida原理(建议了解一下,否则后续的安装会有些懵懂)

frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上
1、模拟器端/手机端安装一个frida-server程序
2、启动模拟器端/手机端的frida-server服务,然后把手机端的端口转发到PC端,
3、PC端编写python脚本进行通信,python脚本中需要hook的代码采用javascript语言。

二、Frida下载

1.pip安装frida模块

镜像地址
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/

安装最新版本:pip install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

我的frida版本:12.8.0;

指定版本安装:pip install frida-tools==12.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.查看本地的frida版本,需要与模拟器端/手机端的版本对应,否则会出错

本地的frida版本:frida --version
在这里插入图片描述

3.frida下载

下载地址:https://github.com/frida/frida/releases
我用的是夜神模拟器,查看系统信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载完成解压
在这里插入图片描述

三、Frida安装

MT管理器apk下载链接-提取码:pwjj:https://pan.baidu.com/s/1dH-TeB6gChPDYoYpH1aXQg?pwd=pwjj

1.通过MT管理器将证书配置到模拟器中

1.在windows下载apk文件,打开模拟器直接将apk文件拖入模拟器窗口完成安装,自动完成安装
在这里插入图片描述
2.打开模拟器,选择好本地与模拟器的共享目录,将解压好的frida放入windows本地的共享目录
在这里插入图片描述
3.打开MT管理器app
在这里插入图片描述
4.将本地的frida-server-12.8.0-android-x86,复制到模拟器中的data/local/tmp目录
在这里插入图片描述

2.模拟器端启动frida-server

来到windows本地的模拟器安装目录下:xxx/Nox/bin,在搜索框输入cmd进入该目录的命令窗口
在这里插入图片描述
1、进入shell:adb shell
2、获取权限:su
3、进入目录:cd /data/local/tmp
4、设置frida-server可执行权限:chmod 755 frida-server-12.8.0-android-x86
5、启动服务:./frida-server-12.8.0-android-x86
在这里插入图片描述

3.连接并转发端口

再打开一个命令窗口,在windows本地的模拟器安装目录下:xxx/Nox/bin,在搜索框输入cmd进入该目录的命令窗口
1、连接:adb connect 127.0.0.1:62001
2、转发端口,进行监听
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
3、查看模拟器正在运行的程序:frida-ps -Ua
在这里插入图片描述
监听成功


总结

本文仅仅简单介绍了如何在模拟器端安装frida,以及启动frida服务并监听,后面会更新使用frida监听app代码注入进行hook的示例,关于模拟器的操作可以查看我的相关博文;

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

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

相关文章

大数据项目之电商数仓DataX、DataX简介、DataX支持的数据源、DataX架构原理、DataX部署

文章目录1. DataX简介1.1 DataX概述1.2 DataX支持的数据源2. DataX架构原理2.1 DataX设计理念2.2 DataX框架设计2.3 DataX运行流程2.4 DataX调度决策思路2.5 DataX与Sqoop对比3. DataX部署3.1 下载DataX安装包并上传到hadoop102的/opt/software3.2 解压datax.tar.gz到/opt/modu…

一、微服务入门

文章目录一、微服务大概认识二、单体架构架构和分布式架构三、微服务架构特征四、微服务技术对比五、SpringCloud 与 SpringBoot版本兼容关系如下:一、微服务大概认识 二、单体架构架构和分布式架构 单体架构:将业务的所有功能集中在一个项目中开发&…

一文弄懂 Diffusion Model

什么是 Diffusion Model 一、前向 Diffusion 过程 Diffusion Model 首先定义了一个前向扩散过程,总共包含T个时间步,如下图所示: 最左边的蓝色圆圈 x0 表示真实自然图像,对应下方的狗子图片。 最右边的蓝色圆圈 xT 则表示纯高斯…

Tomcat安装及配置和常见的问题(2022最新详解、图文教程)

Tomcat的配置安装1. 关于WEB服务器软件2. 配置Tomcat的服务器第一步:配置Java的运行环境第二步:Tomcat的安装第三步:启动Tomcat3. 问题一:解决Tomcat服务器在DOS命令窗口中的乱码问题(控制台乱码)4. 测试To…

问题盘点|使用 Prometheus 监控 Kafka,我们该关注哪些指标

Kafka 作为当前广泛使用的中间件产品,承担了重要/核心业务数据流转,其稳定运行关乎整个业务系统可用性。本文旨在分享阿里云 Prometheus 在阿里云 Kafka 和自建 Kafka 的监控实践。01Kafka 简介Aliware01Kafka 是什么?Kafka 是分布式、高吞吐…

算法选修(J.琴和可莉)(为选修画上句号)

可莉又去池塘炸鱼啦!琴团长决定亲自捉拿可莉将其关禁闭。琴团长不断地追,可莉不断地跑。 琴团长和可莉的行动路线可以看做是一个有n个节点的无根树,初始时琴团长在A点,可莉在B点,她们互相知道对方的位置。 琴团长想尽…

P8869 [传智杯 #5 初赛] A-莲子的软件工程学

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);long a sc.nextLong();long b sc.nextLong();System.out.println(Math.abs(a)*(b>0?1:-1));}} 题目背景 在宇宙射线的轰击下,莲子…

Day13--搜索建议-自动获取焦点与防抖处理

1.定义如下的 UI 结构: 我的操作: 第一次尝试:【出现轮廓】 官方文档: 1》在search.vue中: 效果图:【还是和博主的搜索框有区别的】 第二次尝试:【加上圆角】 官方文档: 第三次尝试…

58、ElasticSearch DSL Bucket聚合

1、聚合的分类 2、DSL实现Bucket聚合 # 集合, 1、bucket terms GET /hotel/_search { "size": 0, "aggs": { "brandAgg": { "terms": { "field": "brand", "size": 20 …

10.前端笔记-CSS-盒子模型-border和padding

页面布局的三大核心: 盒子模型浮动定位 1、盒子模型 1.1 盒子模型组成 盒子模型本质还是一个盒子,包括边框border、外边距margin、内边距padding和实际内容content 1.1.1 边框border 组成 组成:颜色border-color、边框宽度border-wid…

信息论与编码:线性分组码与性能参数

文章目录1.1 线性分组码(n,k)定义1.2 信道编码性能参数1.3基本线性分组码a.奇偶监督码b.恒比码c.汉明码1.4 差错控制类型对信道编码的要求1.5信道编码主要涉及的数学知识:有限域运算、矩阵运算1.1 线性分组码(n,k)定义 线性分组码是由 (n, k) 形式表示。编码器将一…

WEB安全技能树-安全漏洞类型-命令执行漏洞

题目类型 环境:CentOSApachePHPMySQL 题目:ping主机 考点分析 1.过滤 ; && || 等多条命令连接符; 2.过滤cat more less等文件读取命令; 解题思路 第一步 ping 127.0.0.1 看看命令是否能够正确执行 linux如果不指定-…

【Java第35期】:Bean的生命周期

作者:有只小猪飞走啦 博客地址:https://blog.csdn.net/m0_62262008?typeblog 内容:1,这篇博客要分析Bean生命周期有几个阶段? 2,每个阶段的效果是什么? 3,PostConstruct 和 PreDestroy 各自的效果是什…

如果线性变换可以模仿

🍿*★,*:.☆欢迎您/$:*.★* 🍿 正文 如何模仿一个 行为 假设这个行为是线性变换 A 通过权重w 变换为 B 假设可以通过 如下方式 模仿 A变换到B 线性变换 让 C 变换 D首先 计算A C 的距离 dx 计算 B D 的距离 dy假设 w 是通过等差求解权重的方…

(附源码)计算机毕业设计Java搬家预约系统

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

Elon Musk 与开发者分享他的第一份代码评审

Elon Musk 比以往任何时候都更致力于 Twitter 2.0 的成功,与开发者分享他的第一份代码评审。 原文 https://ssaurel.medium.com/more-committed-than-ever-to-making-twitter-2-0-succeed-elon-musk-shares-his-first-code-review-a565e8df5e2f 前言 Elon Musk 也是…

第8讲:Python中列表的概念与基本使用

文章目录1.列表的概念1.什么是列表1.2.列表中元素的索引概念2.列表的简单定义3.获取列表中某个元素的索引3.1.如何获取列表中某个元素的索引3.2.各种场景获取列表中元素的索引4.使用运算符in检查列表中是否存在指定元素1.列表的概念 1.什么是列表 Python中的列表其实就是其他…

骨传导蓝牙耳机哪个品牌好,骨传导蓝牙耳机品牌推荐

在选择骨传导耳机时还不知道选择什么品牌好?下面小编就给大家推荐几款做的不错的骨传导耳机,大家要注意,在选择骨传导耳机时,还是要选择一些较大的骨传导品牌,这样无论是耳机体验还是售后服务都有保证。 1、南卡Runne…

【机器学习入门项目10例】(八):贝叶斯网络-拼写检查器

🌠 『精品学习专栏导航帖』 🐳最适合入门的100个深度学习实战项目🐳🐙【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码🐙🐶【机器学习入门项目10例目录】项目详解 + 数据集 + 完整源码🐶🦜【机器学习项目实战10例目录】项目详解 + 数据集 +

pagination分页插件的getResult明明有数据,但是getTotal方法为0

最近把之前毕设的SSM项目改成SpringBoot项目时遇到了明明后端数据库查询到了数据,但是page的getTotal方法却是0的bug 解决办法: 先导入需要的依赖,这里注意ssm项目的依赖和SpringBoot的依赖是不一样的,这个只要导入极少启动依赖…