声明:文章内容仅供参考学习,如有侵权请联系作者进行删除。
- 逆向步骤
- 首先打开开发者工具查看响应请求
- 分析各个请求的参数
- 发送验证请求包
查看请求响应
首先,在美团登录页面输入任意的账号密码点击登录,即可触发滑块

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

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

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


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

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

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

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

JAVASCRIPT
| // 此时我们可以看到是这样一个函数通过传两个参数来进行返回字符串T为undefinedfunction 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这个函数这个肯定是一个大数组了

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

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


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

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

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

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

然后就慢慢分析了



