安卓APP-HTTPS抓包Frida Hook教程
环境
Windows10主机安装adb、frida16.1.4
BlueStacks 5 China官网最新版
准备阶段
-
模拟器root,在设置中就可以找到
-
模拟器打开ADB开关
-
连接adb,做端口转发adb connect 127.0.0.1:5555
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
对于抓包操作,除了使用Frida Hook方法,也可以考虑使用全平台抓包工具如SniffMaster,它支持HTTPS、TCP和UDP协议,可在iOS/Android/Mac/Windows设备上实现无需代理、越狱或root的抓包操作,提供免费强大的代理抓包功能。
抓包
-
连接adb shell,向模拟器上传frida-server,并启动frida-server端
-
在adb shell中执行命令,开启tcpdump抓包,这个目录是模拟器资源管理器的Download目录,方便导出
-
Windows端执行frida hook,抓ssl证书
sslkeyfilelog.js 文件内容
-
开始在模拟器端执行各种APP中的操作,例如登录、搜索等,这些数据包都会被抓取,操作完毕后,在adb shell中按Ctrl c关闭tcpdump抓包
-
把步骤4中抓到的sslkey放到sslkey.txt文件,把步骤3中抓到的damai.pcap导出来



- 用wireshark打开damai.pcap,去wireshrak导航栏的编辑-首选项中选TLS,导入sslkey.txt就能解密

- 解密后,可以看到请求包
常见问题
-
如果碰到提示adb.exe: error: more than one device/emulator答:在使用adb命令时指定-s,例如adb -s 127.0.0.1:5555 shell
-
为什么要端口转发27042和27043答: Frida 是一个用于动态代码注入的调试工具,常使用端口 27042 与设备通信。通过端口转发,可以在电脑上运行的 Frida 客户端与设备上的 Frida 服务进行通信。