有朋友让分析星巴克下单页面sign签名算法,这个算法其他页面都没有,看来他们只针对重要页面进行了签名验证,这就要一夫当关万夫莫开,一个页面过不去其他页面都不加密也没关系。
sign字符串数值是标准的md5,这个肯定是没错的,那剩下的就是那些内容如何拼接的问题,Psot协议肯定是对请求体进行md5了,但是测试后发现直接对请求体进行md5运算,数值结果对不上,当然这也在预料之中,不然这么简单的加密就形同虚设了。
通过对apk反编译查找sign相关字符串并没有找到,很有可能写在了So层,这样难度就大了很多,时间成本有点高了,不值得。
根据以往经验签名算法无非就是排序,或者拼接其他字符串来制造难度让人无法直接猜出。排序组合虽然很麻烦很费时间但是只要我们把所有的可能遍历测试到还是有找到的可能,通过反复的测试加上经验感觉终于找到了这个拼接组合,可以计算出和抓包相同的签名了