目录
- 前言
- 安装frida
- 查看连接的adb设备
- 安装frida-server
- 安装OkHttpLogger-Frida
- 转发模拟器tcp端口
- 启动frida-server
- OkHttpLogger-Frida 使用
前言
Frida
是一款轻量级HOOK框架,可用于多平台上,例如android、windows、ios等。
frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上。OkHttpLogger-Frida
是针对Android端使用okhttp
框架的抓包。
安装frida
pip install frida
pip install frida-tools
#如果安装慢,可以用下面清华源安装
pip install frida -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install frida-tools -i https://pypi.mirrors.ustc.edu.cn/simple/
查看连接的adb设备
打开夜神模拟器,在在模拟器跟目录打开cmd窗口输入以下指令,查看设备是否连接成功。
.\nox_adb.exe devices
安装frida-server
进入虚拟机查看模拟器cpu类型
.\nox_adb.exe shell
getprop ro.product.cpu.abi
我的是x86,选择x86的frida-server安装包
frida-server下载地址:https://github.com/frida/frida/releases
下载后解压文件,然后推送到模拟器上的/data/local/tmp
目录
.\nox_adb.exe push frida-server-15.1.14-android-x86 /data/local/tmp/frida-server
安装OkHttpLogger-Frida
拉取OkHttpLogger-Frida
https://github.com/siyujie/OkHttpLogger-Frida
git clone https://github.com/siyujie/OkHttpLogger-Frida.git
把OkHttpLogger-Frida
目录下面的okhttpfind.dex
也推送到/data/local/tmp/
目录下。
.\nox_adb.exe push okhttpfind.dex /data/local/tmp/
转发模拟器tcp端口
.\nox_adb.exe forward tcp:27043 tcp:27043
.\nox_adb.exe forward tcp:27042 tcp:27042
启动frida-server
然后进入虚拟机启动frida-server
:
.\nox_adb.exe shell
#frida-server所在目录
cd /data/local/tmp/
#赋予权限
chmod 777 frida-server
#启动运行
./frida-server
重新打开一个cmd窗口运行frida-ps -U
,查看是否正常运行。
#查看当前设备进程
frida-ps -U
显示已下信息说明运行正常
OkHttpLogger-Frida 使用
① 执行命令启动frida -U -l okhttp_poker.js -f com.example.demo --no-pause
可追加 -o [output filepath]保存到文件
② 调用函数开始执行
- find() 要等完全启动并执行过网络请求后再进行调用
- hold() 要等完全启动再进行调用
- history() & resend() 只有可以重新发送的请求
函数:
find() 检查是否使用了Okhttp & 是否可能被混淆 & 寻找okhttp3关键类及函数
switchLoader(\"okhttp3.OkHttpClient\") 参数:静态分析到的okhttpclient类名
hold() 开启HOOK拦截
history() 打印可重新发送的请求
resend(index) 重新发送请求
例子:
frida -U com.example.demo -l okhttp_poker.js
总结:
有些app如果没走okhttp协议就抓不到。
- 📢博客主页:
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 陌北v1 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨