使用Fiddler抓手机app数据包的时候遇到的叻证书问题导致使用Fiddler抓包的时候,手机app无法正常接受数据
网上很多方法都无法解决。最终发现才解决了这个问题
使用手机链接pc端热點。并将手机的代理设置成ip:127.0.0.1,port:8080
这时候理论上就可以抓到手机app的数据包了但是报了很多443,感觉应该是证书问题
3.1使用Xposed拦截系统的证书校验功能,这个网上有大神给出了hook模块代码可以去github上搜JustTrustMe项目代码即可,就一个简单类导入Xposed中自己编译即可:
②注意物理机上安装xposedinstaller 需要root,所以我直接使用的安卓模拟器,但是安卓模拟器可能因为版本问题不支持xposed
③写爬虫代码的时候还发现一个问题使用requests库组建请求的时候:
requests传叺报文的参数有两个,一个是data,一个是json,data对应的是python中的字典但是这个报文格式是json格式,和一般的有些不同
所以抓包分析的时候一定要仔细看一下是否是json格式
3.2反编译app,找到网络请求模块因为系统默认是校验证书的,所以我们需要修改smali让其信任所有证书一般通过连接或者全局搜HttpClient等类信息定位到地方,然后修改smali代码即可信任所有证书的代码网上也有。(这个方法我也试了以下但是不太懂java的代码,有移动端開发经验的可以尝试)