安卓漏洞学习(四):Frida简介

基本情况

Frida 是一款开源的动态代码检测工具,可以用于分析和修改移动应用程序的行为。它跨平台兼容,可以在 Android、iOS 以及桌面应用程序上使用。

Frida Hook 原理

  • 动态代码注入:
    Frida 使用动态代码注入技术将自己的代码注入到目标进程中。在 Android 和 iOS 上,Frida 会使用 ptrace 系统调用将自己的代码附加到目标进程。在 Windows 上,Frida 使用 CreateRemoteThread 函数在目标进程中创建一个新线程并执行其代码。
  • 函数钩子:
    Frida 使用函数钩子技术来拦截目标函数的执行。在 Java 环境中,Frida 会使用 Java.use 和 Java.implementation 来替换目标类和方法的实现。在原生环境中,Frida 会使用 Interceptor.attach 来拦截目标函数的执行,并提供 onEnter 和 onLeave 回调函数。
  • 内存操作:
    Frida 可以读取和修改目标进程的内存,这可以用于修改函数参数、返回值和执行流程。在 Java 环境中,Frida 提供了 Java.cast 和 Java.array 等 API 来操作对象和数组。在原生环境中,Frida 提供了诸如 Memory.readPointer 和 Memory.writePointer 等 API 来读写内存。
  • 跨平台兼容:
    Frida 是一个跨平台的工具,可以运行在 Android、iOS、macOS、Windows 和 Linux 等多种操作系统上。为了实现跨平台兼容,Frida 在每个平台上使用不同的底层机制来实现动态代码注入和函数钩子。

Frida 安装

在电脑上安装客户端

pip install frida -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/
建议使用python 3.8

在手机上安装服务端

下载服务端程序,地址:https://github.com/frida/frida/releases
使用以下命令查看手机CPU版本,下载对应的程序。

adb  shell getprop ro.product.cpu.abi

我的手机是用的frida-server-16.5.7-android-arm64版本
使用以下命令将程序传输到手机,并更改权限

adb push C:\Users\ropha\Downloads\frida-server /data/local/tmp
adb  shell chmod 755 /data/local/tmp/frida-server
cd /data/local/tmp
./frida-server 运行起来了
在客户端输入以下命令,查看手机端正在运行的进程
frida-ps -U
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值