最近在看一个域名被路由劫持的一段JAVASCRIPT代码,有一段实现了数据的解密工作,代码如下,请教大牛解密各个过程的实现原理,该加密算法是何种加密算法?
de = function (n) { // K貌似是校验字符串,共26个字符 var l = 1, k = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var c = n.charAt(0) * l; if (isNaN(c)) return ''; c = n.substr(l, c) * l; if (isNaN(c)) return ''; var d = n.length, t = [], a, f, b, x = String(c).length + l, m = function (z) { return k.indexOf(n.charAt(z)) }, i = k.length; // 26 if (d != x + c) return ''; while (x < d) { a = m(x++); if (a < 5) f = a * i + m(x); else f = (a - 5) * i * i + m(x) * i + m(x += l); t[t.length] = String.fromCharCode(f); x++; } return t.join(''); }; // 解密过程 console.log(de("3406ETBIEMEGBICGBIEMEGCJCFBWCBCECFCDBYBYDREADTEHDREIDZBIBSBIENEIBICGBIEKELEODRDUEICJBWBMDUDTEKCJBMEKELEODRELEIEMCJBZBMEBDXCJENEMDYBTCEBMEKELEODRELENDZBZCJDNCABSBZBWDPBMEKELEODRELENDZCACJDNCBBWBSBZBWBWDPBMEKELEODRELENDZBXCJDNEKELEODRELENDZBZBTBXDPBMEKELEODRELENDZBYCJBWBMEBEGEIENEMDGCJDNCBBSBYCBDPBIBSBIENEABICGBIEKELEODRDUEICJBWBMEKELEODRELENDZBZCJDNCABSBZBWDPBMEBDXCJENEMDYBTCEBMEBEGEIENEMDGCJDNCBBSBYCBDPBIEV"));
代码编写有误,已经更新,不好意思。
首先这个代码运行不了啊
另外这种加解密没任何意义 无论什么牛B得算法 执行的结果一定是一段正规的js代码 最多是做了变量混淆 改了某些函数的名字而已