admin管理员组

文章数量:1559706

一. frida概述

frida是基于Hook的动态分析工具。是一款基于 python+javascript 的 hook 框架,核心是用C编写的,可运行在 android、ios、linux、win等各个平台,主要使用的动态二进制插桩技术。

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

文档: https://www.frida.re/docs/android/

安卓相关文件: https://github/frida/frida/releases

关于frda学习路线了,只需要了解两方面的内容:
1)主控端和目标进程的交互(message)
2)Python接口和js接口(查文档)

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

二. mac下环境搭建

2.1 安装adb工具

参考:DB各种操作指令详解大汇总

2.2 安装frida

pc端安装frida:

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

pip3 install frida

pip3 install frida-tools==5.3.0

#安装完成后可以查看一下版本信息
frida --version

#目前测试最好用的版本,坑少
frida              12.11.18
frida-tools        5.3.0
frida-server       12.8.10
 
 
frida              12.7.26
frida-tools        5.3.0
frida-server       12.8.10

手机端安装frida: https://github/frida/frida/releases
下载电脑端对应版本的frida-server,如果没记住版本可以在终端中输入 frida --version 命令查看。

Android为例,根据手机类型下载对应架构。

adb shell 
getprop ro.product.cpu.abi  # 输出:arm64-v8a,

根据cpu版本去下载相应frida-server,手机是arm64-v8a的,找到相应的服务器server: frida-server-15.0.8-android-arm64.xz,下载,解压,放进手机,进行端口转发,运行frida-server,指令如下:

# 放入手机
adb push frida-server-15.0.8-android-arm64.xz /data/local/tmp

# 端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

# 运行frida
adb shell 
walleye:/ $ su
walleye:/ # cd /data/local/tmp
walleye:/ # chmod 777 frida-server-15.0.8-android-arm64.xz
walleye:/ # ./frida-server-15.0.8-android-arm64.xz
walleye:/ #

如果运行不了,关闭liunx的SELinux: echo 0 > /sys/fs/selinux/enforce

另打开一个cmd,输入:frida-ps -U,查看frida-server64是否运行成功。

2.3 连接网易mumu模拟器

打开终端,输入以下命令即可:

adb connect 127.0.0.1:7555 # windows

adb connect 127.0.0.1:5555 # mac

网易MuMu模拟器的配置文件在安装目录下emulator\nemu\vms\myandrovm_vbox86\myandrovm_vbox86.nemu文件中

配置文件中的ADB_PORT与上面的127.0.0.1:7555相对应。

2.4 出现的问题

出现下面问题,则手机需要root。

adb shell
walleye:/ $ su
/system/bin/sh: su: inaccessible or not found

本文标签: 环境网易模拟器Macmumu