关于ks抓包,Frida成功安装之后
Frida手机、电脑成功安装之后,接下来就是需要在电脑上安装Charles,手机上安装一个VPN转发工具,我安装的是postern,相关配置百度一大把,而且很容易,接下来就是分别设置Charles和postern了
- 手机端 使用postern 转发
Charles安装好之后在proxy-proxy settings里面打开socks proxy就好了,
在postern重点需要注意的是添加一个代理服务器,代理服务器信息就是刚才电脑的IP加上socks proxy port
以上弄好,理论上来说就是可以抓包了,但是此时抓到的包 对于https的 内容都是乱码,所以接下来需要安装相关ssl证书了
- ssl 证书
首先按照百度的Charles教程安装一个ssl 证书在电脑上(要放到可以被信任的地方),之后下载手机端的ssl证书,保存到电脑上,
在cmd里面通过open ssl 的openssl x509 -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem(注意charles-proxy-ssl-proxying-certificate.pem是我的证书名字,只需要替换掉你pem证书名字就好了)把保存的pem证书打开
在-----BEGIN CERTIFICATE-----之前有一串8位数的字符串复制出来,比如dd590a67,然后把原来pem的名字修改成为dd590a67.0就好了
之后把dd590a67.0文件想办法 放到 手机的 /system/etc/security/cacerts/目录下
我在使用adb push 的时候 发现目标目录是只读的,所以需要先mount -o rw,remount /system修改目录权限就好了(具体参考https://www.cnblogs.com/szj22233060/p/11393588.html)
- adb 端口设置
此时,手机重新启动一下,之后adb 里面先设置两个转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
再abd shell 进去su之后启动frida就好了,frida启动之后不会有任何输出的
进入手机界面,打开postern,这个时候应该就可以在Charles里面看到想要抓的包了
有些APP 关键接口走的是udp的包,所以在Charles里面抓到了,但是看不到
- 禁止UDP,强制走HTTP
后续:如何在安卓手机上 使用iptables 来关闭udp
首先adb shell进去,之后分别输入
iptables -A INPUT -p 53 -j DROP
iptables -A OUTPUT -p 53 -j DROP
iptables -A OUTPUT -p UDP -j DROP
iptables -A INPUT -p UDP -j DROP
4个命令分别是关闭53端口的进出和UDP 的进出,以后抓包完成之后需要把DROP 修改成为ACCEPT,再分别执行四个命令