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加密算法,实际调试验证存在简单的反调试。