Charles青花瓷抓包
這2天由于線上版本企業(yè)證書(淘寶第三方重簽名)又被蘋果封了,app打開立即閃退,然后用按照以前的操作把舊包丟給淘寶那邊重簽名,以為事情就解決了,誰(shuí)知拿回來(lái)通用-證書信任后打開還是閃退,什么鬼,證書是好的,為什么還會(huì)閃退?這幾個(gè)月被蘋果封掉幾次,都是這樣操作就可以的啊,無(wú)奈,重新打包-加固-給淘寶重簽名,回來(lái)依然閃退,未加固的重簽名又能正常打開,加固了不重簽名也能正常打開,折騰了1天,客戶都說要放棄iOS了,臥槽,然后發(fā)了個(gè)區(qū)塊鏈的app鏈接過來(lái),說他們使用的這個(gè)app今天也出現(xiàn)這種問題,不過很快就解決了。納尼?我不相信,然后準(zhǔn)備看看他們使用的這個(gè)app有沒有加固,于是百度,發(fā)現(xiàn)通過抓包可以拿到iPa的下載地址,于是又又又折騰Charles起來(lái),以前也用過,不過以前似乎碰到的問題少,或許是以前只是抓http的數(shù)據(jù)。抓fir的數(shù)據(jù)是https的,然后就踩了很多坑,踩到懷疑人生,還去app store花68大洋買了個(gè)抓包工具,最后沒用上,Charles還是能用了。iPa也抓到下載了,包也給反編譯了,發(fā)現(xiàn)沒加固,裸奔,哈哈哈,我就說嘛我不相信。最后的鍋要甩給蘋果,3月27號(hào)不知道又對(duì)開發(fā)賬號(hào)更新了啥幺蛾子。好了,記錄采坑過程,方便以后查看。
系統(tǒng)環(huán)境:Mac(macOS10.14) +?iPhone6s(iOS12.1.4)+ Charles(v 4.2.8),都是很新的版本,Charles是最新的。
1、官網(wǎng)下載Mac版本青花瓷Charles,試用期是30天,打開還會(huì)彈窗10秒提示有30天試用期限,抓到數(shù)據(jù)有時(shí)點(diǎn)擊還會(huì)彈出來(lái),不過懶得去破解,功能沒閹割能用就好。
https://www.charlesproxy.com/download/
來(lái)自花2不謝分享的一個(gè)注冊(cè)碼,親測(cè)Charles(v 4.2.8)可用:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
2、打開Charles,Proxy Settings及SSL Proxying Settings,按照理解Proxy Settings是代理設(shè)置,允許http代理,SSL Proxying Setting是SSL協(xié)議(https傳輸基于此協(xié)議)代理,允許https代理。
http代理端口號(hào)默認(rèn)是8888,下面的Enable transparent HTTP proxying要勾選上,手機(jī)發(fā)生的http請(qǐng)求數(shù)據(jù)才會(huì)經(jīng)過Charles。
https代理端口號(hào)默認(rèn)是443,上面的Enable SSL Proxying要勾選上,手機(jī)發(fā)生的https請(qǐng)求數(shù)據(jù)才會(huì)經(jīng)過Charles。下面可以Add需要抓包的域名,Charles只會(huì)解密已添加域名的接口,才回顯示明文,其他未添加的不解密依然顯示亂碼。
3、電腦連接有線網(wǎng)絡(luò),手機(jī)連接wifi,查詢電腦的ip地址,help-Local IP Address
接著在手機(jī)連接的wifi里面設(shè)置HTTP代理,選擇手動(dòng),服務(wù)器設(shè)置成電腦的ip,端口號(hào)8888,設(shè)置完成點(diǎn)擊存儲(chǔ)。意思是設(shè)置Charles成為代理,手機(jī)發(fā)生的網(wǎng)絡(luò)請(qǐng)求都會(huì)經(jīng)過Charles,數(shù)據(jù)傳輸是這樣的手機(jī)->Charles->接口所在服務(wù)器,然后數(shù)據(jù)返回是這樣子的接口所在服務(wù)器->Charles->手機(jī)。這就是Charles的作用。
4、SSL及Ca證書安裝,最坑最關(guān)鍵的就是這個(gè)了。電腦確保下載安裝CA、SSL證書并設(shè)置完全信任,一定要完全信任,否則抓到的包還是密文亂碼。安裝后在鑰匙串可以查詢到并設(shè)置信任。
接著手機(jī)安裝SSL、CA證書,這個(gè)也是很坑的,首先確保第3點(diǎn)設(shè)置后手機(jī)能正常訪問網(wǎng)絡(luò),然后手機(jī)Safari訪問該網(wǎng)站下載SSL證書https://www.charlesproxy.com/assets/legacy-ssl/charles.crt(也可以關(guān)掉wifi下載,無(wú)影響),按步驟安裝并信任。接著安裝CA證書。
按字面意思是要用手機(jī)Safari訪問172.16.53:8888這個(gè)地址才能下載CA證書。按照理解訪問電腦的ip地址那么該證書應(yīng)該是電腦簽發(fā)的。然后這里發(fā)生了很坑的事情,死活訪問不了該地址,百度查詢?cè)L問chls.pro/ssl也是可以的,但在我這里就就就沒用了,臥槽,此處折騰很久,導(dǎo)致我以為Chales已經(jīng)不能用,簡(jiǎn)直懷疑人生。最后不知道哪里查詢到的,訪問http://www.charlesproxy.com/getssl/這個(gè)地址可以下載安裝CA證書,不過有些地方需要注意,手機(jī)已安裝第3點(diǎn)設(shè)置成功并能正常訪問網(wǎng)絡(luò),不要用移動(dòng)網(wǎng)絡(luò)去訪問,好像有影響。
5、手機(jī)安裝SSL、CA證書后需要設(shè)置信任,注意通用-描述文件-已驗(yàn)證(不代表已信任,此處劃重點(diǎn))。設(shè)置信任在通用-關(guān)于本機(jī)-證書信任設(shè)置,這2個(gè)地方要確保已驗(yàn)證+已信任,圖中Thor開頭的不關(guān)Charles的,是其他app的,忽略。
6、確保先打開Charles,再打開wifi,這樣數(shù)據(jù)才經(jīng)過Charles,如果手機(jī)發(fā)生網(wǎng)絡(luò)請(qǐng)求但Charls沒顯示或者其他奇怪現(xiàn)象,則關(guān)閉Charles、關(guān)閉手機(jī)wifi,接著先打開Charles,再打開手機(jī)wifi。以上步驟做完就能正常抓取https的數(shù)據(jù)了。
7、嘿嘿,抓到ipa的下載地址了,注意左側(cè)域名前面要顯示成雷電圖標(biāo)才表示已解密,如果還是把鎖表示未解密,展開也顯示<unknown>,里面的數(shù)據(jù)都是亂碼的。
總結(jié)
以上是生活随笔為你收集整理的Charles青花瓷抓包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于上一篇AS项目依赖库问题的优化解决方
- 下一篇: 聚类算法:K-Means