币an登录滑块轨迹加密算法(12-26,js逆向)

发布于:2023-05-22 ⋅ 阅读:(226) ⋅ 点赞:(0)
目标网址:aHR0cHM6Ly93d3cuYmluYW5jZS5jb20vemgtQ04vY2FwdGNoYS9tb2JpbGU/Yml6bGQ9bG9naW4mc2RrVmVyc2lvbj0xLjEuMA==
(要翻墙访问)

一、抓包分析
在这里插入图片描述
这个getCaptcha包会返回滑块图片以及后面要用到的ek值

在这里插入图片描述
这个data就是加密后的轨迹

二、跟栈分析
从这里开始下断跟逻辑
在这里插入图片描述
然后一直跟到这里,然后发现这是最后一次出现发现密文的地方,上一个栈已经没有密文,那么我们在9533这行下断然后重新拖动滑块在这里插入图片描述

然后进去跟栈,这里就是生成参数的位置
在这里插入图片描述

g[f(-116, "1Rq!")](lr, c, p, v, S)==>跟进g[f(-116, "1Rq!")]方法观察,其实就是等同于lr(c, p, v, S)

其中 c:为滑动的距离
     p:"login"
     v:轨迹
     S:getCaptcha包里面的数据

然后我们进到 lr 方法,先看他的返回值是哪个再根据这个值去找相应的加密逻辑,因为代码是高度混淆的,一行行看的话比较吃力
在这里插入图片描述
可以看到返回的是h对象,p就是我们的轨迹加密值,继续跟进去(er方法)
在这里插入图片描述
可以看到我们好像已经快找到了最终的加密位置了,但是还不行,继续跟进去(Xt方法)
在这里插入图片描述
然后就会进到一个平坦流,这就是最终的位置了。
像这种平坦流一般的调试手法就是在switch下断,一行一行走
在这里插入图片描述
注意看这里(case 2),这是第一个加密算法,这里的话手动还原那些经过混淆的字符且跟进每个方法看看

就会可以简化为下面的代码
在这里插入图片描述
然后跟进第二个加密算法(Ut方法)
在这里插入图片描述
然后也会进到一个平坦流,同样的手法(switch下断)在这里插入图片描述
这是跟进第二个加密算法平坦流的时候有个变量的值(图中框住的地方),是不是很熟悉…base64呀

我试了一下,确实是base64加密…

那是不是就轻而易举了…

三、加密结果
在这里插入图片描述
最后你就会发现,整个轨迹加密算法就10行左右,但是套一层混淆和一些异步就变得复杂了…

到这整个逻辑就分析完了,拜拜,收工!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到