0

我一直在寻找混淆这个facebook脚本代码的小时,尝试了一些程序并失败,在几个论坛上询问没有人知道。如果你认为你的野兽,并能做到这一点给它一个镜头..thanks :)我该如何去混淆这个Javascript代码..你是否足够野兽?

<div style="display:none"><script id="_waue6n">eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('p b=["\\d\\f\\e\\h\\h","\\K\\f\\G\\A\\I\\H\\f\\v\\e\\i\\j\\d","\\k\\l\\v","\\m\\r\\d\\k","\\d\\l\\s\\t\\m\\g","\\l\\s\\c\\e\\g\\c\\y\\h\\c\\f\\c\\i\\g","\\e\\d\\w\\i\\l","\\d\\s\\l","\\k\\g\\g\\m\\L\\o\\o\\z\\t\\n\\j\\c\\g\\d\\u\\e\\f\\r\\i\\j\\u\\r\\d\\o\\d\\f\\e\\h\\h\\u\\B\\d","\\e\\m\\m\\c\\i\\n\\C\\k\\t\\h\\n","\\k\\c\\e\\n","\\j\\c\\g\\y\\h\\c\\f\\c\\i\\g\\d\\D\\w\\E\\e\\j\\F\\e\\f\\c"];p q=q||[];q[b[3]]([b[0],b[1],b[2]]);(J(){p a=x[b[5]](b[4]);a[b[6]]=M;a[b[7]]=b[8];x[b[N]](b[O])[0][b[9]](a)})();',51,51,'|||||||||||_0xea67|x65|x73|x61|x6D|x74|x6C|x6E|x67|x68|x63|x70|x64|x2F|var|_wau|x75|x72|x69|x2E|x76|x79|document|x45|x77|x7A|x6A|x43|x42|x54|x4E|x33|x66|x39|function|x30|x3A|true|11|10'.split('|'),0,{}))</script></div> 
+0

为什么不运行它,看看'eval()'返回什么? – aroth 2012-03-16 03:31:12

+1

像http://jsbeautifier.org/这样的工具会为你提供一些方法。 – 2012-03-16 03:31:15

+0

难道你不能运行它吗?如果这是Perl,我会保持警惕,但沙盒JS解释器似乎足够安全。 – Thilo 2012-03-16 03:31:43

回答

4

这还不是全部的JavaScript,或者它没有被正确拷贝,但是,它看起来像它的使用院长爱德华兹的Javascript打包器来混淆代码。一个链接到编码器和解码器在这里:http://dean.edwards.name/packer/

作为一般的经验法则unobfuscating代码,你可以用document.write()或alert()代替开放的eval()。

反正,祝你好运!