2011-12-02 78 views
2

我越來越奇怪的字符在網頁的腳本。這是腳本的一部分javascript奇怪的編碼

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

這翻譯以一種奇怪的方式提醒(「爲什麼」)。這怎麼可能?

+0

簡單,因爲各部分正確評估。許多這些字符都是有效的變量名稱,無論您是否意識到。 – zzzzBov

+0

「腳本的一部分」......僅僅完全回答問題是不夠的。 –

回答

1

這被稱爲代碼混淆,使用utf-8字符,而不是我們的英文字母。變量具有有效的名稱,通常有函數調用,會做轉換爲通過警報輸出提供英文文本等

看到這裏有一個良好的討論:How can I obfuscate (protect) JavaScript?