声明:文章内容仅供参考学习,如有侵权请联系作者进行删除。

逆向步骤

  1. 首先打开开发者工具查看响应请求
  2. 分析各个请求的参数
  3. 发送验证请求包

查看请求响应

首先,在美团登录页面输入任意的账号密码点击登录,即可触发滑块

下载

然后打开开发者工具查看响应请求,共有3个请求是主要的

下载 (1)

还有一个是拖动后会触发verify请求接口,这个接口也就是我们最后要解决的

image

首先我们查看verify接口的载荷信息

image
image

然后我们通过查看启动器调用堆栈定位到slider.***.js文件

image

进去后我们会发现代码是被混淆过后的

image

1.此时我们需要找到解密函数然后编写AST插件进行解混淆,为什么要解混淆呢?是因为我们解完混淆后可以使用搜索大法而不用去跟栈浪费时间
2.此时我们可以先在最后一次堆栈调用时下断点然后可以发现参数已经生成好了

image

然后我们先讲怎么解混淆首先看到会调用一个函数我们需要找到这个函数在哪赋值的

y16nv_R(0x120)

image

// 此时我们可以看到是这样一个函数通过传两个参数来进行返回字符串T为undefined
function y16nv_R(m, T) {
var h = y16nv_y();
return y16nv_R = function(a, y) {
a = a - 0x0;
var R = h[a];
return R;
}
,
y16nv_R(m, T);
}

然后我们会发现它又调用了y16nv_y这个函数这个肯定是一个大数组了

image

直接将相关解混淆代码抠出来在本地环境中进行调试发现可以正常拿到响应字符串然后我们进行编写AST插件

image

打开AST在线解析网站AST explorer进行编写插件然后解混淆

image
image

到最后代码直接替换浏览器中的进行运行(但是会发现有坑点哦)

image

解完混淆后会发现焕然一新接下来就是逆各种参数了直接关键词搜索成功定位

image

接下来就是漫长的分析过程了

image

进到Rx函数发现关联函数很多一并拿下来,调试之后会发现值不一样所以说我们解析来需要跟栈调试

image

然后就慢慢分析了

image