任何可操作性的内容与本文无关,文章内容仅供参考学习
如有侵权, 损害贵公司利益,
请联系作者,会立刻马上进行删除**
经常研究快手的小伙伴都知道,快手有几个比较重要的参数,像sig,token-sig和sig3
字段。
其中sig参数网上已经有很多的分析文章了,它的计算逻辑大概就是对请求url 后面的参数,先进行排序,然后再加一个盐值,最后在进行md5加密得到。
而token sig字段是在登录接口才会使用到的,它是用哈希算法中的sha256计算出来的。
当然,其中最难的当属是sig3了,它的计算逻辑就相对的复杂很多,在so层还有大量的反调试。市面上,最常见的方法就是使用像frida
,xposed
或者unidbg
模拟调用来计算,它的优点就是简单高效,开发速度快。
但相应的缺点也很明显,就是依赖真机或者模拟器,要不然就是依赖调用so,然后有些环境检测点会被检测到,当然速度也是一方面。
最优的解决当然是还原成纯python
了,经分析它首先是对传入的值第一次做hmac算法加密,第二次再做aes加密,之后还有其他数值处理。
那看看效果: