1. 程式人生 > >charles抓app資料包

charles抓app資料包


2017年10月25日,微信朋友圈中一款小遊戲火了,就是那個那個什麼測試你的左右腦來給出你多大,看樣子好像已經有幾千萬人在玩
身為程式小哥哥的我看完之後,就想看看到底是什麼魚牛海怪,下面我就來揭露這個程式的祕密啦
我們使用charles(跨平臺又很強大,我就是用這個吧:)
下面是測試操作步驟:
準備工具: 這是使用的是安卓手機 微信 Charles, PC
思路: 通過Charles擷取網路封包獲取手機小程式請求到的內容,分析程式碼即可理解分數計算的邏輯
  小程式的請求是HTTPS型別的,抓包拿到的都是加密後的內容
安裝環境: 由於本實驗是使用window 10作業系統,安卓vivo下完成的,喜歡Linux系統的可以下載對應的Linux版本的charles,操作大同小異
安裝步驟:

一: 抓包環境的配置
登入https://www.charlesproxy.com/latest-release/download.do下載charles抓包軟體(可以替換一個jar包來破解軟體,這裡就不講了.字尾名.msi.其實是一款代理伺服器,通過成為電腦或者瀏覽器的代理,然後擷取請求和請求結果達到分析抓包的目的,主要是http請求。)
注: 這個軟體是用java寫的,因此你得提前配置好java開發環境,安裝適合的jdk(charles版本和jdk版本也可能會導致出現錯誤) Charles是收費軟體,可以免費使用30天,之後每次使用不能超過30分鐘,並並且啟動有10秒延遲
二: 在電腦和手機上安裝證書
1.在電腦上安裝證書:

點選Help-SSL Proxying-Install charles root certificate,下載並安裝證書
選擇安裝證書--->選擇自己想要的儲存位置(當前使用者/本地計算機)---> 將所有的證書都放入下列儲存--->選擇受信任的根證書頒發機構->到證書路徑
出現該證書沒有問題就說明證書安裝成功了
2.在手機上安裝證書:
(1) 將電腦安裝證書 :(1)點選Help-SSL Proxying-Install charles root certificate on a Mobile Device...顯示出來了需要設定手機http代理的主機名和埠號
選單中找到 proxy -> SSL proxy setting -> 勾選Enable SSL Proxying -> locations 裡 新增一個  host 為 * 的 萬用字元 即可通配所有域名
(2) 給手機安裝證書 手機瀏覽器訪問https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/ 點選here安裝
設定證書名稱(隨便),設定憑據用途:WLAN或者應用和VPN
(2) 開啟手機設定,添手動代理,設定代理伺服器的主機名(自己電腦的ip地址),並設定代理伺服器埠號8888
代理設定好了,手機和電腦的證書都安裝了之後,就可以抓取手機APP的http,https協議的資料包了。

當然喜歡用wireshark和fiddler的同學也可以方便了經過類似操作抓包

下面是比較清晰的原理圖

x