鹹魚又來練手了,此次來研究下在搜索參數搜不到的狀況下怎麼辦?前端
有點經驗的朋友確定知道此次要用的就是 XHR BreakPoint。web
關於XHR BreakPoint在不少文檔中都有說起,鹹魚就不囉嗦了,還不是很瞭解的能夠看下面的文檔。chrome
developers.google.com/web/tools/c…異步
在分析請求以前,鹹魚分享一個調試小技巧。chrome-devtools
今天在交流羣划水的時候有幾個羣友比較糾結於如何判斷數據是否是由js生成或異步加載的。網站
我經常使用的方法有兩種:google
第一種,右鍵查看「網頁源代碼」,以後在打開的網頁源碼的界面搜索咱們想要得數據是否在其中就能夠判斷了。加密
第二種,關閉網頁的js加載功能,查看網頁咱們須要的數據是否可以順利加載或者查看數據是否完整,步驟也很是簡單。調試
第一步: 點擊地址欄前端的圖示位置,選擇網站設置。cdn
第二步: 在權限位置將JavaScript選擇爲禁止,返回刷新網頁,查看數據是否順利加載。
以上兩個小技巧能夠大大方便咱們的調試,就不用猜來猜去了。
用上面的方法咱們判斷,數據是經過js加載的,而且請求的參數和返回的參數都是通過加密的。
到這裏就須要 XHR 斷點幫助咱們定位加密了。
咱們先添加一個XHR斷點。
從新刷新頁面。
能夠看到斷點的位置上已經有了咱們須要的參數加密。
咱們先找到參數尚未加密的地方。往上找很快就看到參數尚未加密的地方。
能夠看到上圖1,2兩個斷點的位置還只是對數據進行序列化等操做,到了第3,4斷點的位置參數就被加密了。因此咱們能夠從新刷新一下看看數據是怎麼被加密的。
到這個位置就能夠追進去分析了,接下來就比較簡單了。
能夠看到這裏就是參數的主要加密邏輯:
還有就是關於 sig 參數,邏輯也被分析出來了。
接下來就是分析返回的參數解密的位置了。
數據解密的位置很快也被定位到了,咱們看到 l 就是返回的密文.
我如今斷點端的位置也就是解密的位置。按照參數加密的方法追進去就能夠看到解密的方法了.
把解密和解密的方法扣出來就是咱們須要的js代碼了。
本文完。