DDR爱好者之家 Design By 杰米

@TOC

通过替换本地js后,继续在第一篇里面说到的this.uabModule处下一个断点。这次我们跟入到 this.uabModule.getUA 这个函数内部

某酷ckey签名生成算法系列--(五)调用js生成结果

发现是调用【e(1, o)】得到的结果,o就是传入的参数,这里是undefined,那么参数都清楚了,看看函数内部做了什么

某酷ckey签名生成算法系列--(五)调用js生成结果
整个函数非常非常之长,里面实际包含了多个函数,主要是通过第一个参数的数值,来判断具体执行的是哪一个函数。因为已经去除了控制流,现在就是繁琐的从上往下一步一步的分析数值是怎么来的了。

在调试过程中可以发现,里面检测了非常多的设备信息。包括但不限于各种鼠标和触摸事件、dom和bom属性和方法、插件和画布等等。所有信息序列化,拼接在一起,最后才得出这个【140#.......】的ckey

因为调试过程非常繁琐,就不多叙述,下图的大致的计算流程

某酷ckey签名生成算法系列--(五)调用js生成结果

分析完成后,尝试使用node调用来生成这个ckey

某酷ckey签名生成算法系列--(五)调用js生成结果
经历了多少错误,重新分析后,终于出来了,放入到某酷的接口中请求,可以正常返回数据,说明算法没有问题了。尝试移植到其他地方使用,依然是没有问题的,整个分析算是完结了,整个反混淆加分析用了大概一月的时间。

某酷ckey签名生成算法系列--(五)调用js生成结果

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米