这种JS代码是什么方式加密?好高深的样子,如何解密
B2BB.y9r = function () {
var c = 2;
while (c !== 1) {
switch (c) {
case 2:
return {
F: function M(m, P) {
var D = 2;
while (D !== 10) {
switch (D) {
case 13:
d -= 1;
D = 6;
break;
case 8:
D = R < m ? 7 : 11;
break;
case 7:
var d = m - 1;
D = 6;
break;
case 1:
var l = 0;
D = 5;
break;
case 3:
l += 1;
D = 5;
break;
case 11:
return J;
D = 10;
break;
case 14:
J[R][(d + P * R) % m] = J[d];
D = 13;
break;
case 9:
var R = 0;
D = 8;
break;
case 6:
D = d >= 0 ? 14 : 12;
break;
case 4:
J[(l + P) % m] = [];
D = 3;
break;
case 2:
var J = [];
D = 1;
break;
case 5:
D = l < m ? 4 : 9;
break;
case 12:
R += 1;
D = 8;
break;
}
}
}(48, 14)
};
c = 1;
break;
}
}
}();
B2BB.R8z = function () {
return typeof B2BB.z8z.F === 'function' ? B2BB.z8z.F.apply(B2BB.z8z, arguments) : B2BB.z8z.F;
};function B2BB() {}
B2BB.L9r = function () {
return typeof B2BB.y9r.F === 'function' ? B2BB.y9r.F.apply(B2BB.y9r, arguments) : B2BB.y9r.F;
};
B2BB.C8z = function () {
return typeof B2BB.z8z.F === 'function' ? B2BB.z8z.F.apply(B2BB.z8z, arguments) : B2BB.z8z.F;
};
B2BB.X9z = 3;
B2BB.k9r = function () {
return typeof B2BB.y9r.F === 'function' ? B2BB.y9r.F.apply(B2BB.y9r, arguments) : B2BB.y9r.F;
};
B2BB.z8z = function () {
var P = 2;
while (P !== 1) {
switch (P) {
case 2:
return {
F: function (d) {
var c = 2;
while (c !== 14) {
switch (c) {
case 3:
m = 0;
c = 9;
break;
case 2:
var M = '',
R = decodeURI("*3!9%3C6r这里省略掉了一大段,因为长度限制...%25?0?%25)x/7%60%22$):k6%3E!#=494r'9!?2$%03;00%25r5s2;48#%3E!%01%228?!0%015)2(6*%0E%7Dqugib%3C%3Es4p68%19?08#)5%25%0A%3C$82%22;");
c = 1;
break;
case 4:
c = m === d.length ? 3 : 9;
break;
case 8:
J++, m++;
c = 5;
break;
case 1:
var J = 0,
m = 0;
c = 5;
break;
case 5:
c = J < R.length ? 4 : 7;
break;
case 9:
M += String.fromCharCode(R.charCodeAt(J) ^ d.charCodeAt(m));
c = 8;
break;
case 7:
M = M.split('>');
return function (l) {
var D = 2;
while (D !== 1) {
switch (D) {
case 2:
return M[l];
D = 1;
break;
}
}
};
c = 14;
break;
}
}
}('LFMU^Q')
};
P = 1;
break;
}
}
}();
B2BB.y9r = function () {
var c = 2;
while (c !== 1) {
switch (c) {
case 2:
return {
F: function M(m, P) {
var D = 2;
while (D !== 10) {
switch (D) {
case 13:
d -= 1;
D = 6;
break;
case 8:
D = R < m ? 7 : 11;
break;
case 7:
var d = m - 1;
D = 6;
break;
case 1:
var l = 0;
D = 5;
break;
case 3:
l += 1;
D = 5;
break;
case 11:
return J;
D = 10;
break;
case 14:
J[R][(d + P * R) % m] = J[d];
D = 13;
break;
case 9:
var R = 0;
D = 8;
break;
case 6:
D = d >= 0 ? 14 : 12;
break;
case 4:
J[(l + P) % m] = [];
D = 3;
break;
case 2:
var J = [];
D = 1;
break;
case 5:
D = l < m ? 4 : 9;
break;
case 12:
R += 1;
D = 8;
break;
}
}
}(48, 14)
};
c = 1;
break;
}
}
}();
B2BB.R8z = function () {
return typeof B2BB.z8z.F === 'function' ? B2BB.z8z.F.apply(B2BB.z8z, arguments) : B2BB.z8z.F;
};function B2BB() {}
B2BB.L9r = function () {
return typeof B2BB.y9r.F === 'function' ? B2BB.y9r.F.apply(B2BB.y9r, arguments) : B2BB.y9r.F;
};
B2BB.C8z = function () {
return typeof B2BB.z8z.F === 'function' ? B2BB.z8z.F.apply(B2BB.z8z, arguments) : B2BB.z8z.F;
};
B2BB.X9z = 3;
B2BB.k9r = function () {
return typeof B2BB.y9r.F === 'function' ? B2BB.y9r.F.apply(B2BB.y9r, arguments) : B2BB.y9r.F;
};
B2BB.z8z = function () {
var P = 2;
while (P !== 1) {
switch (P) {
case 2:
return {
F: function (d) {
var c = 2;
while (c !== 14) {
switch (c) {
case 3:
m = 0;
c = 9;
break;
case 2:
var M = '',
R = decodeURI("*3!9%3C6r这里省略掉了一大段,因为长度限制...%25?0?%25)x/7%60%22$):k6%3E!#=494r'9!?2$%03;00%25r5s2;48#%3E!%01%228?!0%015)2(6*%0E%7Dqugib%3C%3Es4p68%19?08#)5%25%0A%3C$82%22;");
c = 1;
break;
case 4:
c = m === d.length ? 3 : 9;
break;
case 8:
J++, m++;
c = 5;
break;
case 1:
var J = 0,
m = 0;
c = 5;
break;
case 5:
c = J < R.length ? 4 : 7;
break;
case 9:
M += String.fromCharCode(R.charCodeAt(J) ^ d.charCodeAt(m));
c = 8;
break;
case 7:
M = M.split('>');
return function (l) {
var D = 2;
while (D !== 1) {
switch (D) {
case 2:
return M[l];
D = 1;
break;
}
}
};
c = 14;
break;
}
}
}('LFMU^Q')
};
P = 1;
break;
}
}
}();
解决方案 »
- js读取类别问题
- Y.Mods = Y.Mods || [];干啥用的
- 为什么没有效果啊?帮忙分析下
- YUI AutoComplete
- 急急急:js实现按照坐标移动轨迹
- 刚建的Javascript讨论群
- ExtJS 的TabPanel使用IFrame嵌入Flex开发的网页为什么在火狐的浏览器中切换页面导致Flex页面重新加载
- 为什么我的Request和Response总是提示未定义呢?
- 如何给<iframe>的innerHTML赋值
- Ext grid 页面缩小至出现滚动条后,点击Cell里的链接不起作用
- js向jsp传值问题
- 前端js/jq遍历获取复杂数据{countList[{"measBoxStorageList":[{dvcld:""}]},{}}
y9r属性是一个匿名函数,函数中有个while循环,在每次循环中来个switch,我只说其中一个case
当值为2时,返回一个json对象,这个json对象,这个对象的键为F,值为一个匿名函数(带两个参数m和p),里面又是一层循环和switch,下面应该可以看懂了吧
B2BB的第二个属性R8z是一个匿名函数
B2BB的第三个属性C8z是一个匿名函数
第四个属性X9z值为3
最后一个属性z8z是一个匿名函数。和第一个属性的函数差不多。