跳转至

Frida 基础

基础知识

Frida 是一款开源的动态二进制代码插桩工具,它可以在不修改应用程序二进制代码的情况下,提供运行时代码注入、代码替换和代码插桩功能。Frida 可以在许多操作系统上运行,包括 Windows、macOS、Linux、iOS、Android 等。

Frida 官网:https://frida.re/

Frida 文档中文版:https://www.frida.re/docs/home/

安装使用

Frida 是跨平台工具,使用 Python 环境即可安装,官方建议使用最新的 Python 3.X 版本安装:

pip install frida-tools

安装完成后我们可以使用如下编译好的 CLI 命令:

frida             frida-create      frida-kill        frida-ps          frida-rm
frida-apk         frida-discover    frida-ls          frida-pull        frida-trace
frida-compile     frida-join        frida-ls-devices  frida-push

此外我们还可以从 Frida 的 GitHub 发布页面获取其他平台编译好的二进制文件。

下面以 OnePlus6 为例来安装 frida-server,首先 PC 端将 frida-server 拷贝到 Android 的 /data/local/tmp/ 目录下

adb push frida-server-16.0.8-android-arm64   /data/local/tmp/frida-server-1608

然后 Android adb shell 下给执行权限并运行:

chmod +x /data/local/tmp/frida-server-1608
/data/local/tmp/frida-server-1608

然后 PC 端查看 frida 的设备列表信息:

➜  Frida frida-ls-devices
Id        Type    Name                OS
--------  ------  ------------------  ------------
local     local   AsRocks-iMac.local  macOS 12.6.3
783a39c7  usb     ONEPLUS A6000       Android 9
socket    remote  Local Socket

可以看到我们的 ONEPLUS 6 走的是 USB 类型,我们要查看 USB 连接的设备正在运行的进程,使用下面的命令即可:

frida-ps -U

查看的效果:

参考链接


最后更新: 2023-02-08