1 通過調用官方接口(如 wx.getUserInfo)獲取數據時,接口會同時返回 rawData、signature,其中 signature = sha1( rawData + session_key ) 2 開發者將 signature、rawData 發送到開發者服務器進行校驗。服務器利用用戶對應的 session_key 使用相同的算法計算出簽名 signature2 ,比對 signature 與 signature2 即可校驗數據的完整性。 3 如wx.getUserInfo的數據校驗: 4 接口返回的rawData: 5 { 6 "nickName": "Band", 7 "gender": 1, 8 "language": "zh_CN", 9 "city": "Guangzhou", 10 "province": "Guangdong", 11 "country": "CN", 12 "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/1vZvI39NWFQ9XM4LtQpFrQJ1xlgZxx3w7bQxKARol6503Iuswjjn6nIGBiaycAjAtpujxyzYsrztuuICqIM5ibXQ/0" 13 } 14 15 16 不過常常逆向工程中是直接調用不了官方接口的 ,可以利用hook方式獲取小程序signature,Code,等數據 17 目前已完成自動小程序 Code ,openId, signature,encryptedData,iv,cloud_id,等數據獲取 18 探討交流請加 var qq = ‘2974520784’;