大家好,我是周五码农,人称法外狂人张三。为什么在实际抓取手机app包时说使用Charles+Postern,解决方案有很多,经典的就是Fiddler,但是Fiddler会有问题,如果App设置不使用代理选项,那么Fiddler就会不行。为什么Charles+Postern可以工作?是因为Charles没有直接监控App,但是Charles确实监控了Postern,Postern是一个vpn,所以如果App不使用代理就没用了,Postern还是可以监控的,然后Postern转发给Charles上,这样就完成了数据包捕获。除了双向验证,Charles还需要添加证书进行双向验证,后面会讲到。当然还有更好的解决办法,r0capturehook抓包了解一下?我的环境pixel2Android8版本(root)Magisk23.0版本Xposed3.1.5版本Charles配置Charles环境需要JDK启用超级管理员关闭防火墙才能下载Charles下载地址:https://www.charlesproxy.com/download/安装下一步->下一步。安装成功打开。激活注册码生成地址:https://www.zzzmode.com/mytools/charles/ActivateCharles。在Help->Registered中输入密钥和生成的激活码。要设置代理,请单击Porxy设置。注意:此时我的WindowsProxy已经把勾去掉了,也就是说它没有抓到PC端。设置监听端口:配置SSL代理,点击SSL代理设置:添加代理,*.*:至此,Clarles已经设置完毕。关于PosternPosternPostern不是一个抓包工具,它是一个代理工具。它可以将http请求转换成socket,将数据包转发给Charles,这样就可以捕获更多的数据包。配置代理规则以添加代理服务器并保留一个选项,并删除其他选项。配置规则添加规则以打开/关闭海报如果Charles提示某些内容,请务必单击“允许”。然后就可以愉快的抢包了。但是此时只能抓取http包。如果要抓取hppts包,需要设置证书。配置证书并将证书保存到指定位置。单击SaveCharlesRootCerti...以选择要保存的路径。推送证书到手机将保存的证书推送到手机。adbpushC:\Users\Ti\Downloads\1.pem/sdcard/1.pem成功推送到手机。要在手机上安装证书,请单击从存储设备安装证书。点击证书,安装。证书的名字可以随便写。安装后,可以在可信凭据中看到。查看用户凭据。证书存放目录系统证书路径/etc/security/cacerts用户证书路径/data/misc/user/0/cacerts-added虽然此时已经安装了证书,但仍然可能无法为APP抓取https。因为Android7之后只信任系统证书,所以需要将用户证书移到系统证书中。移动证书这里使用Magisk的MoveCertificates模块来安装证书。直接安装就行了。然后重启手机,你会发现证书已经移动成功了。至此,配置成功,打开Postern,就可以愉快的抓取https了!Charles与Fiddler的对比虽然Fiddler也可以完成手机的抓包,但是如果App设置为不使用代理,那么Fiddler就会失败。.而Fiddler需要修改手动wifi的代理,而Charles不需要。只需要配置Postrn和Charles的连接,就可以抓取大部分的app。不使用代理时,直接关闭Postrn即可!总结目前Fiddler和Charles都很流行,但是相对来说Charles+Postern更适用,数据也更好!
