学习目标:配置好frida环境

frida的安装

pip install frida
pip install frida-tools (安装frida-tools时,会自动安装frida)

判断frida是否安装成功

cmd中执行frida --version, 能打印出版本号说明frida-tools没有问题
cmd中执行python, 进入控制台import frida, 能导包成功,说明frida库没有问题

frida的卸载

pip uninstall frida
pip uninstall frida-tools

frida安装指定版本

先安装指定版本的frida,再安装指定版本的frida-tools

pip install frida==14.2.18
pip install frida-tools==9.2.5
旧版的要下载.egg文件然后安装
D:\Python38\python.exe -m easy_install frida-14.2.18-py3.8-win-amd64.egg

frida-tools版本的查看

https://github.com/frida/frida/releases

https://github.com/frida/frida/releases/tag/12.3.6

frida代码提示的配置

cmd进入到项目根目录,运行以下命令

npm i @types/frida-gum

firda-server的配置

frida-server是手机端的frida环境,由它与电脑端frida通信,完成frida-agent.so的注入

frida-server的运行平台要选对

查看手机cpu架构
adb shell getprop ro.product.cpu.abi
查看android版本号
adb shell getprop ro.build.version.release
查看api等级
adb shell getprop ro.build.version.sdk

frida-server的版本与frida的版本要匹配

指定版本frida-server的获取:https://github.com/frida/frida/releases/tag/12.3.6

连接真机时不需要转发端口,连接模拟器需要转发端口

adb forward tcp:27042 tcp:27042

frida-server配置常见的几个问题

  • 推送进去的是压缩包

  • CPU平台选择的不对

  • 运行frida-server前,不是root权限

  • 运行起来以后,cmd又给关掉了

  • 端口占用

    报错: Error binding to address 127.0.0.1:27042: Address already in use
    ps -A | grep fsarm64
    kill pid
    查看端口占用情况:adb shell netstat -tulnp
    -t:此选项表示只显示 TCP 连接和监听端口的信息。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
    -u:该选项表示只显示 UDP 连接和监听端口的信息。UDP(User Datagram Protocol)是一种无连接的传输层协议,它不保证数据的可靠传输,但具有较低的开销和较快的传输速度。
    -l:这个选项用于显示处于监听状态的端口,也就是那些正在等待连接的端口。
    -n:该选项会以数字形式显示地址和端口号,而不是尝试将 IP 地址解析为域名,将端口号解析为服务名称。这样可以提高命令执行的速度,避免 DNS 查询的延迟。
    -p:此选项会显示与每个连接或监听端口关联的进程 ID(PID)和进程名称。这有助于你确定哪个应用程序正在使用特定的端口。
  • frida-server版本与电脑端frida版本不匹配

配置抓包环境

下载charles,SockDroid

用户证书目录

/data/misc/user/0/cacerts-added

系统证书目录

/system/etc/security/cacerts

e0capture的使用

下载地址:https://github.com/r0ysue/r0capture/releases

推送到手机

adb push D:\BaiduNetdiskDownload\ecapture-v1.0.1-android-arm64\ecapture-v1.0.1-android-arm64\ecapture /data/local/tmp

给权限

chmod 777 ecapture

运行

./ecapture tls