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

news2024/11/14 2:33:53

在这里插入图片描述


文章目录

  • 前言
  • 一、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/1228728.html

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

相关文章

Figma 插件学习(一)

一.插件介绍 插件在文件中运行,执行一个或多个用户操作,并允许用户自定义其体验或创建更高效的工作流程。 插件通过专用插件API与Figma的编辑器交互。还可以利用外部Web API。 1.插件API 插件API支持读写功能,允许查看、创建和修改文件的…

读像火箭科学家一样思考笔记03_第一性原理(上)

1. 思维的两种障碍 1.1. 为什么知识会成为一种缺陷而非一种美德 1.1.1. 知识是一种美德 1.1.2. 知识同样的特质也会把它变成一种缺点 1.1.3. 知识确实是个好东西,但知识的作用应该是给人们提供信息,而不是起约束作用 1.1.4. 知识应该启发智慧&#…

2024年软件测试面试必看系列,看完去面试你会感谢我的!!

朋友圈点赞的测试用例 功能测试 1点赞后是否显示结果 2.点赞后是否可以取消; 3.点赞取消后是否可以重复点赞; 4.共同好友点赞后,是否有消息提醒; 5.非共同好友点赞后,是否有消息提醒; 6.点击点赞人昵称,是否可以跳转到他/她的主页; 7.自己能…

NLP学习:深入NLP

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 之前学过一段时间NLP,因为其中涉及到一些深度学习常用的知识或者框架,但苦于不系统以及没有任务focus不能长久.这里借助微软的教程写点东西. tokenization&&representation 将一句话中的单词分割就是分词(…

如何看待人工智能行业发展

随着人工智能技术的飞速发展,这个领域的就业前景也日益广阔。人工智能在各行各业都有广泛的应用,包括医疗、金融、制造业、教育等。因此,对于想要追求高薪、高技能职业的人来说,学习人工智能是一个非常有前景的选择。 首先&#x…

Redis--字符串

基础概念 字符串、数字,都会转化为字符串来进行存储 以二进制的方式存储在内存中 key的命名规范 key不宜过长,消耗内存,且在数据查找的这类键值的计算成本高(通过hash计算来查找)不宜过短,可读性查值一…

程序员带你入门人工智能

随着人工智能技术的飞速发展,越来越多的程序员开始关注并学习人工智能。作为程序员,我们可能会对如何开始了解人工智能感到困惑。今天,我将向大家介绍一些如何通过自学了解人工智能的经验和方法,帮助大家更好地入门这个充满挑战和…

在线ws/wss调试工具

具体前往:在线webSocket(ws)调试工具

程序员告诉你:人工智能是什么?

随着科技的快速发展,人工智能这个词汇已经逐渐融入了我们的日常生活。然而,对于大多数人来说,人工智能仍然是一个相对模糊的概念。 首先,让我们从人工智能的定义开始。人工智能是一种模拟人类智能的技术,它涵盖了多个领…

图像处理01 小波变换

一.为什么需要离散小波变换 连续小波分解,通过改变分析窗口大小,在时域上移动窗口和基信号相乘,最后在全时域上整合。通过离散化连续小波分解可以得到伪离散小波分解, 这种离散化带有大量冗余信息且计算成本较高。 小波变换的公…

C++二分查找算法:有序矩阵中的第 k 个最小数组和

本文涉及的基础知识点 二分查找算法合集 本题的简化 C二分查找算法:查找和最小的 K 对数字 十分接近m恒等于2 题目 给你一个 m * n 的矩阵 mat,以及一个整数 k ,矩阵中的每一行都以非递减的顺序排列。 你可以从每一行中选出 1 个元素形成…

庖丁解牛:NIO核心概念与机制详解 04 _ 分散和聚集

文章目录 Pre概述分散/聚集 I/O分散/聚集的应用聚集写入Code Pre 庖丁解牛:NIO核心概念与机制详解 01 庖丁解牛:NIO核心概念与机制详解 02 _ 缓冲区的细节实现 庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片 概述 分散/聚…

学霸教你自学人工智能

在这个信息爆炸的时代,人工智能已经渗透到我们生活的方方面面。无论是语音助手、自动驾驶汽车,还是医疗诊断,人工智能都在发挥着越来越重要的作用。如果你对人工智能充满热情,希望在这个领域有所建树,那么,…

鸿蒙:使用Stack、ContentTable、Flex等组件和布局实现一个显示界面

效果展示 一.概述 跟随官网继续HarmonyOS学习 本篇博文实现一个食物详情页的开发Demo 通过这个开发过程学习如何使用容器组件Stack、Flex和基本组件Image、Text,构建用户自定义组件,完成图文并茂的食物介绍 二.构建Stack布局 1.食物名称 创建Stack…

STM32CubeMX学习笔记-CAN接口使用

STM32CubeMX学习笔记-CAN接口使用 CAN总线传输协议1.CAN 总线传输特点2.位时序和波特率3.帧的种类4.标准格式数据帧和遥控帧从STM32F407参考手册中可以看出主要特性如下CAN模块基本控制函数CAN模块消息发送CAN模块消息接收标识符筛选发送中断的事件源和回调函数 CubeMX项目设置…

解决SLF4J: Class path contains multiple SLF4J bindings.

这个问题在使用Dubbo时产生,推荐一个插件Maven Helper 1.插件安装 安装好后下方会有一个Dependency Analyzer,点击进入 2.删除冲突项 根据报错信息选择一个slf4j删除,不一定是slf4j-log4j12,每个人的报错信息不一样,图…

FPGA_IIC代码-正点原子 野火 小梅哥 特权同学对比写法(3)

FPGA_IIC代码-正点原子 野火 小梅哥 特权同学对比写法(3) 工程目的IIC时序图IIC 读写操作方法汇总正点原子IIC实验工程整体框图和模块功能简介,如表下图所示: IIC 驱动模块设计时钟规划状态跳转流程单次写操作的波形图如下图所示&…

Linux socket编程(4):服务端fork之僵尸进程的处理

在上一节利用fork实现服务端与多个客户端建立连接中,我们使用fork函数来实现服务端既可以accept新的客户端连接请求,又可以接收已连接上的客户端发来的消息。但在Linux中,在子进程终止后,父进程需要处理该子进程的终止状&#xff…

LeetCode(29)三数之和【双指针】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 三数之和 1.题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复…

RE2文本匹配实战

引言 今天我们来实现RE2进行文本匹配,模型实现参考了官方代码https://github.com/alibaba-edu/simple-effective-text-matching-pytorch。 模型实现 RE2模型架构如上图所示。它的输入是两个文本片段,所有组件参数除了预测层和对齐层外都是共享的。上图…