<!doctype html>
js加密+混淆破解
js加密+混淆破解
- 修改查詢條件(城市的名稱+時間範圍), 點選查詢按鈕後發起請求對應的資料包。點選查詢按鈕後,發起ajax請求。改請求就會将制定查詢條件對應的資料加載到目前頁面中。(我們要爬取的資料就是該ajax請求請求到的資料)
- 分析捕獲到的資料報
- 請求方法
- 請求參數d:動态變化一組資料(且加密的)
- 相應資料:是加密的密文資料
- 首先先處理動态變化的請求參數,動态擷取該參數的話,就可以攜帶該參數進行請求發送,将請求到的密文資料捕獲到
- 将鋪貨到的密文資料找到對應的解密函數進行解密即可
- 【重點】需要找到點選查詢按鈕後對應的ajax請求代碼,從這組代碼中就可以播出動态變化的請求參數和加密相應資料對應的相關操作
- 找到ajax請求對應的代碼,分析代碼擷取參數d的生成,和加密的相應資料的解密操作
- 從getData函數實作中尋找ajax代碼,但是發現另外兩個函數調用
- 分析getData找到ajax代碼
- 發現了另一個函數調用:getServerData
- 分析getServerData,找尋ajax代碼:
- 發現找到的函數實作被加密
- 對getServer加密就是js混淆
- js反混淆:對js加密代碼進行解密
- 暴力破除的方式:https://www.bm8.com.cn/jsConfusion/
- 分析結論
- js反混淆:對js加密代碼進行解密
- js逆向:使用固定子產品PyExecJS實作自動逆向