1. 程式人生 > >使用charls抓包微信小程式的解決方案(終極解決,各種坑不怕,親測可用,不服來戰!)

使用charls抓包微信小程式的解決方案(終極解決,各種坑不怕,親測可用,不服來戰!)

 

第一步:使用charles進行https抓包

https://www.jianshu.com/p/7a88617ce80b   使用charles進行https抓包

 

使用Charles進行HTTPS抓包(包括安裝信任證書以及抓包 出現無法抓包unknown和證書無效解決方案)


因為微信小程式都是https的請求,所以必須要能解析https,要解析https,就要證書

 

最近很多同行使用第一步所說的配置之後,發現獲取的https響應資料依然是亂碼。所以,請進行第二步設定。

第二步:Android 7.0 之後抓包 unknown 和證書無效的解決方案(無需改程式碼)

https://blog.csdn.net/ShadowySpirits/article/details/79756274

其中那個把使用者證書改成系統證書的命令太風騷了,我忍不住要記下來:

 

系統證書目錄:/system/etc/security/cacerts/

其中的每個證書的命名規則如下:
<Certificate_Hash>.<Number>
檔名是一個Hash值,而後綴是一個數字。

檔名可以用下面的命令計算出來:

openssl x509 -subject_hash_old -in <Certificate_File>        

這個<Certificate_File> 就是你下載的證書的名字,你計算出hash值以後,就把原來證書的名字,就是這個<Certificate_File>,改成hash值點Number的格式(<Certificate_Hash>.<Number>的格式)

字尾名的數字是為了防止檔名衝突的,比如如果兩個證書算出的Hash值是一樣的話,那麼一個證書的字尾名數字可以設定成0,而另一個證書的字尾名數字可以設定成1


操作步驟:

將抓包軟體的證書用上述命令計算出 Hash 值,將其改名並複製到系統證書目錄

 

此時你應該可以在 設定->安全->加密與憑據->信任的憑據 的系統標籤頁看到你新加入的證書,將其啟用即可順利抓包

 

 

到這裡了,其實還有個問題,用自己的手機去root,肯定不划算,如果手邊蘋果機也不好找的話,是不是就搞不成了?

那也不是,辦法總比困難多。

 

這裡可以選擇使用《夜神模擬器》來代替手機,話說夜神模擬器還真的是不錯,預設安裝好就已經是root了的。

 

你可以把證書檔案下載到你電腦上,然後用上面說的那個命令計算出hash值(如果是windows,沒法使用那個openssl命令,可以裝一個Git bash,就可以用了),

然後把證書檔案拖到夜神模擬器裡,此時檔案會在夜神的一個非系統資料夾裡,但我們是需要把它搞到系統證書資料夾裡去的,夜神又沒有移動檔案的辦法,怎麼辦呢?

活人不可能被尿憋死,不能移我就新建一個嘛,反正只要這個證書串還是那個串就好了嘛。

所以,開啟拖到夜神模擬器裡的那個證書檔案,複製裡面的證書串,然後到 系統證書資料夾(也就是/system/etc/security/cacerts/路徑下)新建一個檔案,改名稱計算出來的那個hash串點Number即可。

 

到這裡了,必須要刪除你之前使用者模式下裝的CA證書,你才能看到你剛才新建的系統CA在信任憑據列表裡了。

然後你還要把charles關掉,把夜神關掉,重啟電腦,然後再把charles的 ssl proxy settings  設定為 域名* 埠*才行。不設還是會亂碼。

 

至此,才大工告成。

&n