云计算百科
云计算领域专业知识百科平台

图灵第十六题(仿某东h5st)

前言

        图灵第十六题的核心就是一段jsvmp代码,对于jsvmp可以选择插桩纯算(这里不演示了,感兴趣可以看我前几期的某音乐jsvmp纯算),还可以补环境等等,这里我们来尝试补环境。

接口分析

打开开发者工具就可以看到,这个h5,也是本题的核心参数       

接口位置也是比较好找的,打上断点重新刷新一下。

可以看到这里是把page和t传了进去,对这行代码还原一下就是这个  window["PcSign"]["sign"](j)["then"](function(g) 

往下走一步就能看到,h5的生成,也就是先调用了window["PcSign"]["sign"](j)函数,然后再.then就能拿到h5。

扣代码 + 补环境

那么首先我们先进window["PcSign"]["sign"](j)函数把整段代码扣下来。

再把函数调用加上,放到代码段中执行看一下。

可以看到已经成功出值了,一共是1228位,我们补环境的话,补出的结果位数也不一定非得是1228位,环境不同位数也就不同。同样的代码不同浏览器,结果位数也会有差异。

然后我们把代码原封不动的扣到我们的nodejs中去。直接挂上代理,把window,document等基础量先补一下,补完后执行代码。

执行之后node肯定是会报错的,接下来就是有什么补什么,这里并不难,就是很麻烦,无脑CTRL + c,CTRL + v就好了。

        

这里有几个点说一下,getItem()中的四个值,最好是放在最后补,可能是因为我的代理有问题,先补的话会吞掉我的部分环境打印出的值。也是有解决办法的,直接在终端执行node代码就行了。

还有就是这些方法下零零散散的东西,一定要补全。

正常补到这里应该是960位,你也可以尝试一下,此时生成的值能不能用。结果是不能的,

那么就肯定还有环境没补到,最后我们使用联调看一下。

可以看到 HTMLALLCollection 没有被定义,不知道这是什么的小伙伴也可以搜一下看看。

这个东西是不好补的,那我们就看看这段代码做了什么。

在结尾处发现正常不报错会返回_$lR这个值,但是在nodejs中执行会报错,走的是catch语句。那么我们就可以到浏览器中去,把_$lR拿下来,放在catch语句返回的后面就可以了。

我们再次执行就能拿到值了,可以看到补出来的h5位数并没有和浏览器中生成的一致,但是也能拿到结果。

小结

        本题h5与某东h5st加密参数基本一样,题的难度适中,只要耐得住性子补就能补出来,我在补的时候也是花了两个小时左右才补全的,所以说不要着急。再说一下近期小目标,有时间会将前面1-11题做一个合集发出来,只分析关键点,不再展示过程。

OK,到此本篇全部内容完结。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 图灵第十六题(仿某东h5st)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!