2012-05-24 30 views
1

我學習JavaScript一些想法,我發現這個代碼:我正在學習更多的JavaScript的,我想對這個代碼

<script> 

var _0x98bd=["\x3C\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3D\x22\x6A\x73\x2F\x4E\x31\x39\x53\x38\x37\x4E\x39\x4E\x41\x39\x38\x37\x31\x58\x39\x38\x37\x5A\x5A\x58\x2E\x73\x77\x66\x22\x3E\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E","\x77\x72\x69\x74\x65"]; 

</script> 

有誰知道這是什麼意思?

+0

你試過玩過嗎? – gdoron

+0

基於我的搜索,上面的代碼是用混淆器完成的,我嘗試了一些去混淆器的方法,發現沒有運氣,所以也許它沒有被混淆? – Mico

+0

這些值是ASCII十六進制值: Hidde

回答

2

它產生此陣:

["<script src="js/N19S87N9NA9871X987ZZX.swf"></script>", "write"] 

我不知道代碼的作者試圖用它做。

+0

你會教我如何得到這個價值? – Mico

+0

@Mico。看看[這個DEMO](http://jsfiddle.net/A63pE/)(當然你必須用一個帶有控制檯的瀏覽器來測試它...) – gdoron

+0

Thanks @gdoron提供演示 – Mico

1

這只是在變量_0x98bd與數組只有兩個字符串元素。

該字符串包含一個腳本標記,如果插入到DOM中,該腳本標記將加載一些Flash文件。第二個包括「寫」。

這可能是蠕蟲的代碼,它利用了一些瀏覽器錯誤。如果您在任何(生產性)網站上發現此信息,則應通知該網站的所有者,因爲這可能是惡意代碼!

+0

我從來沒有想到這一點,感謝您的有用答案! – Mico

1

數組的第一個元素是下面的代碼:

<script src="js/N19S87N9NA9871X987ZZX.swf"></script> 

第二個要素是:

write 
0

你說你正在學習JS,所以你可以在ECMA-262標準的第22-24頁中找到解釋爲什麼這個事情的原因。http://www.ecma-international.org/publications/standards/Ecma-262.htm 因爲數組的兩個元素在「之間,所以它們是字符串文字。 \被稱爲轉義字符,\ x必須後跟2個十六進制數字,意思是: 「x HexDigit HexDigit是代碼單元值爲(第一個HexDigit的MV的16倍)加上第二個HexDigit的MV的字符「 因此,例如\ x3C等同於'<'字符。

相關問題