本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!
————————————————
开始研究这个请求之前需要先看一下 (一)的简易流程,请求过程需要三个加密参数 token、data、cb
其中cb的生成入口在 (二)的get?referer请求文章里有体现,用相同加密即可,token则是在 (二)的get?referer请求里请求响应回来的数据,最后这里就剩下一个data。
跟上一篇一样,先跟着堆栈找入口,这里不能着急,不是很容易找到
d 参数分析 h是一个函数,直接拿下来就可以,this[e(3148)]125位是轨迹数组的长度,具体根据看自己轨迹的长度,传值的是a是一个50位的加密数组,这里的加密应该也能猜出来就是-轨迹加密
在来找一下加密轨迹的位置,这里的e(3148)是traceData,正常我们直接使用traceData全局搜索,查看一下在哪里给它的赋值,但是这是一个ob混淆的js,所以搜索用3148下标直接搜
f变量就是我们想要得到单个加密,其中p还是一个函数直接拿下来,p(u,[x坐标,y坐标,时间差]+''), u就是token,这样d参数就分析完了。
2. m就是一个空引号
3. p参数 = o,r是token,parseInt(this.$jigsaw[e(972)][e(3087)]是移动距离。
4. ext参数主要用到了轨迹的长度。
这样的全部已经完成了,也就是轨迹的地方有点费劲,其他的也没有那么麻烦啦