eval(function (p, a, c, k, e, d) { e = function (c) { return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) d[e(c)] = k[c] || e(c); k = [function (e) { return d[e] } ]; e = function () { return '\w+' }; c = 1; }; while (c--) if (k[c]) p = p.replace(new RegExp('\b' + e(c) + '\b', 'g'), k[c]); return p; } ('C f$=["\B","\V","\E","\E","\B","","\V\a\u\s\d\k\a\m\B","\B","","\V\a\u\s\d\k\a\m\B","\M\e\b\b\q\d\a\1C\j\c\j\T\u\h\o",\'\u\h\o\',\'\S\
直接使用IE等浏览器的开发人员工具,它会帮你把js编排好,这样就容易看得懂了。
这种代码经过压缩和混淆处理,通俗地说,好比var result = firstnumber + secondnumber; alert(result);,它完全等价var a = b + c; alert(a);,因为表示相同含义的变量名被整体替换成另一个,相互关系不变。那么这种处理之后的代码就根本不能还原出原来的代码了,作为有意义的变量名信息损失了。除非一个人看懂了这段代码,手工再改回来,机器没有这种智能。所以,你除非能找到原始的处理之前的代码, 否则没有好的办法,只能硬着头皮用调试器一点一点琢磨了。
用IDEA工具或者sublime工具