使用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  設置為 域名* 端口*才行。不設還是會亂碼。

 

至此,才大工告成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM