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’;
请发表评论