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

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

文章目录


前言

Frida 是一款基于 Python + JavaScript 的 Hook 与调试框架,实现app逆向的强大工具;
https://blog.ZEEKLOG.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

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

3.frida下载

https://github.com/frida/frida/releases
我用的是夜神模拟器,查看系统信息

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


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


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


下载完成解压

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

三、Frida安装

https://pan.baidu.com/s/1dH-TeB6gChPDYoYpH1aXQg?pwd=pwjj

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

1.在windows下载apk文件,打开模拟器直接将apk文件拖入模拟器窗口完成安装,自动完成安装

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


2.打开模拟器,选择好本地与模拟器的共享目录,将解压好的frida放入windows本地的共享目录

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


3.打开MT管理器app

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


4.将本地的frida-server-12.8.0-android-x86,复制到模拟器中的data/local/tmp目录

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

2.模拟器端启动frida-server

来到windows本地的模拟器安装目录下:xxx/Nox/bin,在搜索框输入cmd进入该目录的命令窗口

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


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

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

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

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


监听成功


总结

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

Read more

Re:从零开始的 C++ 入門篇(十一):全站最全面的C/C++内存管理的底层剖析与硬核指南

Re:从零开始的 C++ 入門篇(十一):全站最全面的C/C++内存管理的底层剖析与硬核指南

◆ 博主名称: 晓此方-ZEEKLOG博客 大家好,欢迎来到晓此方的博客。 ⭐️C++系列个人专栏: Re:从零开始的C++_晓此方的博客-ZEEKLOG博客  ⭐️踏破千山志未空,拨开云雾见晴虹。 人生何必叹萧瑟,心在凌霄第一峰 目录 0.1概要&序論 一,布局模型与常见误区解析 1.1C/C++内存布局 1.2内存布局易误解点 二,复习C语言的内存管理方法 2.1malloc 2.2calloc 2.3relloc 2.4free 2.5罗列常见的内存管理错误 三,C++内存管理方法 3.1new/delete管理体系 3.1.1开辟单个空间与释放 3.1.2开辟多个连续的空间与释放

By Ne0inhk
【C++】C++新增特性解析:Lambda表达式、包装器与绑定的应用

【C++】C++新增特性解析:Lambda表达式、包装器与绑定的应用

C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority Queue与仿函数模板进阶-模板特化面向对象三大特性-继承机制面向对象三大特性-多态机制STL 树形结构容器二叉搜索树AVL树红黑树红黑树封装map/set哈希-开篇闭散列-模拟实现哈希哈希桶-模拟实现哈希哈希表封装 unordered_map 和 unordered_setC++11 新特性:序章右值引用、移动语义、万能引用实现完美转发可变参数模板与emplace系列 大家好,我是店小二。在这篇文章中,我们将深入探讨C++11的新特性——Lambda表达式、包装器与绑定的应用。如果在阅读过程中有不清楚的地方或发现任何错误,欢迎随时私信交流探讨。 🌈个人主页:是店小二呀 🌈C语言专栏:C语言 🌈C++专栏: C++ 🌈初阶数据结构专栏: 初阶数据结构

By Ne0inhk
C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现

C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现

🔥@雾忱星: 个人主页 👀专栏:《数据结构与算法入门指南》、《C++学习之旅》 💪学习阶段:C/C++、数据结构与算法 ⏳“人理解迭代,神理解递归。” 文章目录 * 引言 * 一、拷贝构造函数 * 1.1 解析:拷贝构造特点 * 1.2 关键:拷贝构造的调用 * 二、赋值运算符重载 * 2.1 铺垫:运算符重载特点 * 2.1.1 核心:理解运算符重载 * 2.2 进阶:赋值运算符重载特点 * 2.2 核心:理解赋值运算符重载 * 总结 引言 在C++面向对象编程中,对象的复制操作无处不在。无论是函数传参、返回值传递,

By Ne0inhk
初学者:《C++ STL容器入门:手把手教你使用常用容器》

初学者:《C++ STL容器入门:手把手教你使用常用容器》

🎬 博主名称:个人主页 🔥 个人专栏: 《算法通关》,《Java讲解》 ⛺️心简单,世界就简单 目录 序言 vector 倍增思想: 一,初始化 常用函数 遍历方式 黑科技 pair 定义方式 取出元素方式 构造一个pair 用来干嘛 string 常用函数 操作 queue队列 priority_queue优先队列 常用函数 如何构造小根堆 stack 栈 常用函数 deque 双端队列 set,multiset 常用函数 map,multimap unordered_set,  unordered_map,   unordered_multiset,  unordered_multimap 序言 我们今天来讲一下 vector

By Ne0inhk