爬虫 | JS逆向某验滑动加密(二)
点击“Python编程与实战”,选择“置顶公众号”
第一时间获取 Python 技术干货!
声明:本文只用于学习研究,禁止用于非法用途,如有侵权,请联系我删除,谢谢!
上篇文章给大家分析还原了某验滑动的混淆代码,然后后台很多人在问后面的加密以及整个流程是啥,所以今天索性就把整个加密都弄出来吧!
话不多说,时间宝贵,开干!
回到之前 w 的加密处
可以看到该函数接收了三个参数。调用栈往上追一下
还原后的代码非常清晰,这三个参数就是 c, l, n["$_DAAD"], 仔细看代码
_ = e ? n["lastPoint"]["x"] : t["$_CCAY"]() / a - n["$_DDHB"]
u = e ? n["lastPoint"]["y"] : n["$_DDIm"] - t["$_CCBw"]() / a;
不难猜出,这个 _, u 分别对应我们滑动时候的 x, y 轴的坐标。
你要是不相信,可以拿个尺子量一下(手动狗头)
第三个参数,是滑动的时间。所以关键在第二个参数 l..
控制台分别输出看下是什么东东
后面两个有木有很眼熟啊。就是前面请求返回的 data
那么关键点就剩下一个了,进去瞅瞅
点击进去,就能进入该函数, 打上断点,重发请求
这个 t 就是我们滑动的一个轨迹...,通过这个函数将轨迹数组变成了一个字符串。
将函数扣下来,前面那一坨数组赋值的可以删掉,因为我们已经还原了,看着碍事
函数扣下来后试着运行一下,缺啥补啥。万年不变的原则
继续回到 l 的加密处。接下来是最外层的函数了,同样的方法把加密函数拿下来.
上面完成之后,W 加密函数的三个参数就凑齐了!
继续后面的流程....都没什么难度了,
把那几个加密的函数拿出来就行了。
再把那些什么 AES Base64 都扣出来就完事了!
Js 加密部分基本上就都完成了,剩下的就是根据 Network 中的请求流发请求就好了。
以上就是某验滑动的整个流程了,是不是 so easy !
原创不易,来个分享,点赞,在看三连吧!
推荐阅读
THANKS
- End -
点个“在看”必升职加薪喔!
评论