2011-12-02 81 views
2

我越来越奇怪的字符在网页的脚本。这是脚本的一部分javascript奇怪的编码

___=~[];___={___:++___,$$$$:(![]+"")[___],__$:++___,$_$_:(![]+"")[___],_$_:++___,$_$$:({}+"")[___],$$_$:(___[___]+"")[___],_$$:++___,$$$_:(!""+"")[___],$__:++___,$_$:++___,$$__:({}+"")[___],$$_:++___,$$$:++___,$___:++___,$__$:++___};___.$_=(___.$_=___+"")[___.$_$]+(___._$=___.$_[___.__$])+(___.$$=(___.$+"")[___.__$])+((!___)+"")[___._$$]+(___.__=___.$_[___.$$_])+(___.$=(!""+"")[___.__$])+(___._=(!""+"")[___._$_])+___.$_[___.$_$]+___.__+___._$+___.$;___.$$=___.$+(!""+"")[___._$$]+___.__+___._+___.$+___.$$;___.$=(___.___)[___.$_][___.$_];___.$(___.$(___.$$+"\""+"\\"+___.__$+___.$$_+___.$$_+___.$_$_+"\\"+___.__$+___.$$_+___._$_+"\\"+___.$__+___.___+___._$+___.$_$$+"\\"+___.__$+___.$_$+___._$_+"\\"+___.$__+___.___+"=\\"+___.$__+___.___+"{\\"+___.$__+___.___+"};\\"+___.__$+___._$_+___._$+___.$_$$+"\\"+___.__$+___.$_$+___._$_+".\\"+___.__$+___.$$_+___._$$+___.$$$_+___.$$__+"\\"+___.__$+___.$$_+___._$_+___.$$$_+___.__+"\\"+___.$__+___.___+"=\\"+___.$__+___.___+"\\\"\\"+___.__$+___.___+___.__$+"\\"+___.__$+___.$_$+___.$$_+"\\"+___.__$+___.$__+___.$$$+___.$$$_+(![]+"")[___._$_]+"\\"+___.__$+___.$_$+___.__$+"\\"+___.__$+___.$_$+___.$$_+___.$_$_+"\\"+___.$__+___.___+"\\"+___. 

这翻译以一种奇怪的方式提醒(“为什么”)。这怎么可能?

+0

简单,因为各部分正确评估。许多这些字符都是有效的变量名称,无论您是否意识到。 – zzzzBov

+0

“脚本的一部分”......仅仅完全回答问题是不够的。 –

回答

1

这被称为代码混淆,使用utf-8字符,而不是我们的英文字母。变量具有有效的名称,通常有函数调用,会做转换为通过警报输出提供英文文本等

看到这里有一个良好的讨论:How can I obfuscate (protect) JavaScript?