Charles青花瓷抓包

这2天由于线上版本企业证书(淘宝第三方重签名)又被苹果封了,app打开立即闪退,然后用按照以前的操作把旧包丢给淘宝那边重签名,以为事情就解决了,谁知拿回来通用-证书信任后打开还是闪退,什么鬼,证书是好的,为什么还会闪退?这几个月被苹果封掉几次,都是这样操作就可以的啊,无奈,重新打包-加固-给淘宝重签名,回来依然闪退,未加固的重签名又能正常打开,加固了不重签名也能正常打开,折腾了1天,客户都说要放弃iOS了,卧槽,然后发了个区块链的app链接过来,说他们使用的这个app今天也出现这种问题,不过很快就解决了。纳尼?我不相信,然后准备看看他们使用的这个app有没有加固,于是百度,发现通过抓包可以拿到iPa的下载地址,于是又又又折腾Charles起来,以前也用过,不过以前似乎碰到的问题少,或许是以前只是抓http的数据。抓fir的数据是https的,然后就踩了很多坑,踩到怀疑人生,还去app store花68大洋买了个抓包工具,最后没用上,Charles还是能用了。iPa也抓到下载了,包也给反编译了,发现没加固,裸奔,哈哈哈,我就说嘛我不相信。最后的锅要甩给苹果,3月27号不知道又对开发账号更新了啥幺蛾子。好了,记录采坑过程,方便以后查看。

系统环境:Mac(macOS10.14) + iPhone6s(iOS12.1.4)+ Charles(v 4.2.8),都是很新的版本,Charles是最新的。

1、官网下载Mac版本青花瓷Charles,试用期是30天,打开还会弹窗10秒提示有30天试用期限,抓到数据有时点击还会弹出来,不过懒得去破解,功能没阉割能用就好。

https://www.charlesproxy.com/download/

来自花2不谢分享的一个注册码,亲测Charles(v 4.2.8)可用:

Registered Name: https://zhile.io

License Key: 48891cf209c6d32bf4

2、打开Charles,Proxy Settings及SSL Proxying Settings,按照理解Proxy Settings是代理设置,允许http代理,SSL Proxying Setting是SSL协议(https传输基于此协议)代理,允许https代理。

http代理端口号默认是8888,下面的Enable transparent HTTP proxying要勾选上,手机发生的http请求数据才会经过Charles。

https代理端口号默认是443,上面的Enable SSL Proxying要勾选上,手机发生的https请求数据才会经过Charles。下面可以Add需要抓包的域名,Charles只会解密已添加域名的接口,才回显示明文,其他未添加的不解密依然显示乱码。

3、电脑连接有线网络,手机连接wifi,查询电脑的ip地址,help-Local IP Address

接着在手机连接的wifi里面设置HTTP代理,选择手动,服务器设置成电脑的ip,端口号8888,设置完成点击存储。意思是设置Charles成为代理,手机发生的网络请求都会经过Charles,数据传输是这样的手机->Charles->接口所在服务器,然后数据返回是这样子的接口所在服务器->Charles->手机。这就是Charles的作用。

4、SSL及Ca证书安装,最坑最关键的就是这个了。电脑确保下载安装CA、SSL证书并设置完全信任,一定要完全信任,否则抓到的包还是密文乱码。安装后在钥匙串可以查询到并设置信任。

接着手机安装SSL、CA证书,这个也是很坑的,首先确保第3点设置后手机能正常访问网络,然后手机Safari访问该网站下载SSL证书https://www.charlesproxy.com/assets/legacy-ssl/charles.crt(也可以关掉wifi下载,无影响),按步骤安装并信任。接着安装CA证书。

按字面意思是要用手机Safari访问172.16.53:8888这个地址才能下载CA证书。按照理解访问电脑的ip地址那么该证书应该是电脑签发的。然后这里发生了很坑的事情,死活访问不了该地址,百度查询访问chls.pro/ssl也是可以的,但在我这里就就就没用了,卧槽,此处折腾很久,导致我以为Chales已经不能用,简直怀疑人生。最后不知道哪里查询到的,访问http://www.charlesproxy.com/getssl/这个地址可以下载安装CA证书,不过有些地方需要注意,手机已安装第3点设置成功并能正常访问网络,不要用移动网络去访问,好像有影响。

5、手机安装SSL、CA证书后需要设置信任,注意通用-描述文件-已验证(不代表已信任,此处划重点)。设置信任在通用-关于本机-证书信任设置,这2个地方要确保已验证+已信任,图中Thor开头的不关Charles的,是其他app的,忽略。

6、确保先打开Charles,再打开wifi,这样数据才经过Charles,如果手机发生网络请求但Charls没显示或者其他奇怪现象,则关闭Charles、关闭手机wifi,接着先打开Charles,再打开手机wifi。以上步骤做完就能正常抓取https的数据了。

7、嘿嘿,抓到ipa的下载地址了,注意左侧域名前面要显示成雷电图标才表示已解密,如果还是把锁表示未解密,展开也显示<unknown>,里面的数据都是乱码的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值