调用博主最近登录时间
生活中的HYGGE
Frida入门篇-环境配置

Frida入门篇-环境配置

hygge
2022-03-12 / 0 评论 / 559 阅读 / 正在检测是否收录...

1、概述

Frida是个轻量级别的hook框架

是Python API,但JavaScript调试逻辑

Frida的核心是用C编写的,并将Google的V8引擎注入到目标进程中,在这些进程中,JS可以完全访问内存,挂钩函数甚至调用进程内的本机函数来执行。

使用Python和JS可以使用无风险的API进行快速开发。Frida可以帮助您轻松捕获JS中的错误并为您提供异常而不是崩溃。

关于frda学习路线了,Frida的学习还是蛮简单的,只需要了解两方面的内容:

  1. 主控端和目标进程的交互(message)
  2. Python接口和js接口(查文档)

frida框架分为两部分:

  1. 一部分是运行在系统上的交互工具frida CLI。
  2. 另一部分是运行在目标机器上的代码注入工具 frida-serve。

2、资源和环境

Windows11 X64
Python 3.7
魅族16th Plus(已Root)
Frida官网:https://www.frida.re/
Frida源码:https://github.com/frida

3、运作模式

Frida通过其强大的仪器核心Gum提供动态检测,Gum是用C语言编写的。因为这种检测逻辑很容易发生变化,所以通常需要用脚本语言编写,这样在开发和维护它时会得到一个简短的反馈循环。这就是GumJS发挥作用的地方。只需几行C就可以在运行时内运行一段JavaScript,它可以完全访问Gum的API,允许您挂钩函数,枚举加载的库,导入和导出的函数,读写内存,扫描模式的内存等

4、Frida安装

Frida的安装很简单,需要在windows安装frida客户端和在安卓安装frida服务端。

4.1、windows安装客户端

4.1.1、安装Frida

windows安装pyhon37安装,打开cmd,使用命令
pip3 install frida
在安装时 发生了如下问题
q1.png

解决方案:关闭正在运行的代理(梯子)后重试
p1.png

4.1.2、安装Frida-tools

pip3 install frida-tools
p2.png

4.1.3、验证安装

查看Frida版本:frida --version

p3.png

4.2、手机中安装Frida服务端

4.2.1、下载服务端到电脑

  1. 使用adb连接到移动设备,查看CPU的ABI信息
一般模拟器都会带有adb不需要额外下载,我所用的就是雷电模拟器下的adb,配置环境变量即可

通过:getprop ro.product.cpu.abi
p4.png
可以看出我手机是arm64-v8a的,接下来去 frida-github-点我直达 下载对应版本的服务端Server
p5.png
下载后将其解压出来,为了之后的命令行操作方便重命名为frida-server.

4.2.2、手机端操作Frida

p6.png

如果运行不了,关闭liunx的SELinux: echo 0 > /sys/fs/selinux/enforce
不过我的真机和模拟器都没有出现运行不了的情况,模拟器只是不能沟通起服务端和客户端,所以换真机操作 具体原因不详。

4.2.3、验证双端连接

重新打开一个CMD用来执行客户端,查看frida-server64是否运行成功。
执行命令:frida-ps -U
l5abba2h.png

沟通成功

5、Frida工具

5.1、工具总体概述

Frida提供了四个工具,frida-trace,frida-ps,frida,frida-discover,这些工具都位于python的Scripts路径下

p7.png

5.2、升级frida

如果需要升级Frida版本 使用以下命令

pip3 install -U frida
pip3 install -U frida-tools

python2.7安装方法与python3.7一致

1

评论 (0)

取消