声明
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
目标网站
仅研究。网站链接自己去找。
前言
这里a_bogus 又是个vmp。 还是个多层嵌套的vmp。
ab的算法 其实本质上和xb差不多。流程也是。只不过相比较xb多了一些东西。
流程分析
这里老样子废话就不多说了。直接开整。找断点。
找到之后往上找一个栈点。
这里有关于b = s.apply(l, u) 这个代码有20个。如图生成ab的位置在第19处。
然后看下我们所需要的值和结果。可以看到如图是生成mstoken的地方。那可以猜测到 ab应该也是在这个vmp中执行的。那就不多说 了
先看看 ab生成的地方。在如图位置。打上日志断点。 看到生成的地方。然后判断ab的位数再打上条件断点。
然后重新刷新。到达生成处。(由于已经一一测试完了 所以直接就确定了在第19处)
好 。那我们就可以往上去插桩找还原处了。
其实路走到这里。大概知道什么走了。
还是老套路
补环境 or 纯算
补环境
先说补环境。
这里补环境难点在 如何找到切入口。这里单步调试继续往下走。
好的 发现是这个位置生成的。(搜索if (m < 59) 最后一个就是生成处)
后面就围绕这个e 去 抠代码即可。
这里有个坑啊。可能你在补的时候不知道怎么导出全局变量。这里很简单。
这里直接执行js 不返回任何值。看浏览器抛给了我们什么。
走到这里,大家应该都明白了吧。
然后就是喜闻乐见的缺啥补啥
这里具体怎么补呢。可以把时间戳和随机数固定。然后和浏览器做对比。这样慢慢补。
纯算
仅分析
这里嵌套了很多VMP 要分析得一层套一层 弄起来很麻烦。本文仅分析。流程大体是没有变得。可以自己去尝试一下
我们直接在如下图的位置打上个条件断点。
结合上篇文章所得。确实很容易就能知道 所得的 加密参数是从何而来。
确实这里我们已经能大概分析出来加密流程是什么样的。
跟着上面吐出来 的日志。可知。由 JS时间戳+数组+useragent 生成的乱码 然后重新进行编码取值 然后得到a_bogus.
这里实在不想搞纯算了。大概搞了一下。和xb流程差不多。不过具体分析比xb要复杂很多。
大体就是通过上述代码拼凑出来44位的xb。
剩下的皆闲话 可忽略
补环境
真的好卷。各种框架各种补。厂家也是针对一大堆千奇百怪的监测点,检测完这个检测Node。
说实话搞起来真的头大。主要他新加一个点 你就要挨个排查。再说补环境框架。一键吐出来N多环境。不说别的。这种放到生产环境上大概率也是不得行的。一个一个补又太浪费时间了。说实话搞成这样。那后面还不如走自动化了。
纯算
要好一点。但是纯算搞起来也费时间。像ab这种。嵌套N个vmp。你要真从0开始弄。多的不说 几天总要搞的吧。总要花心思去看这些日志点吧。然后怎么去加。现在搞这些相当于站在巨人的肩膀上去弄了。虽然ab的教程不多。但是全网总弄找到几篇教程。但是如果从0开始搞一个新的未知的反爬。还不知道要弄多久。烦