今天用仿站工具下载了一个比较不错的html5网站,但在本地就无法打开,打开的网页是个白板。检查元素发现没有body元素,本地代码明明有boby,浏览器中却没有,估计是js在捣鬼。
挨个注销引用的js,发现<script src="style/index.min.js"></script>被注销后,能显示一点网页内容。
分析这个js,先是整理格式,发现有一个注释// index.js以下的内容都是加密乱码,如下图:
我搜索这个函数发现是一种js加密的方法,其实本身已经有解密了,只是源代码为return p; 将这个p的内容打印到 文本框中,解码了js代码加密
第二步分析js,我怀疑是某段js操作隐藏了body元素,本地和原网站的唯一区别就是网址,但是在js中查找原网站网址没有找到。挨个搜索查找控制body元素的js,终于发现了玄机,他把网址用函数重新写了一下,如果网址不为他这个就删除了body,代码如下:
function authentication() { //绑定域名地址的小花招,不是他这个域名删除body // var suffix = "com", // count = 1, // dot = "."; // var d = (count + 999).toString() + "zhu" + dot + suffix; // if (window.location.host.indexOf(d) < 0) { // $("body").remove(); // return false // } return true}