1.通過抓包軟件charles進行抓包,點擊微信收款后,抓包內容都是加密處理過
2.加載分析定位這些字段的加密函數。
WDTNThorParameterProcessor HTTPBody:task:error: 各個字段的處理函數
WDTNThorProtocolImp thorEncrypt:withAESKey: 進行加密的函數
對應的解密函數:
WDTNThorProtocolImp thorDecrypt:withAESKey:andOptions:
3.具體參數調試跟蹤驗證
存在簡單反調試,日常繞過
4.正常下斷調試。加密后context跟抓包一致,確定是簡單aes算法。
5.各種 key的來源(677xxxxx)。
6.param 的內容也是同樣加密算法得來的,驗證一致。
7.timestamp 為當前是時間,v為固定數值2。
8.sign的參數,進行兩次MD5哈希計算得到。
第一次md5參數前面的參數+thorAppSecret(前面獲取)
第二次md5參數第一次的md5+thorAppSecret
調試驗證:
返回數據解密說明:aes解密后,gzip解壓。
總結:微店使用是https協議,采用轉包軟件可以抓到加密的數據。通過定位可以快速分析到加解密函數,采用簡單的aes加密算法,實際調試驗證存在簡單的反調試。