我正在学习更多JavaScript,我想对这段代码有所了解

时间:2012-05-24 09:10:09

标签: 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>

有谁知道这是什么意思?

5 个答案:

答案 0 :(得分:2)

它产生这个数组:

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

我不知道代码的作者试图用它做什么。

答案 1 :(得分:1)

这只是变量_0x98bd,其数组只包含两个字符串元素。

String包含一个脚本标记,如果插入DOM,它将加载一些flash文件。第二个包括“写”。

这可能是蠕虫的代码,它利用了一些浏览器错误。如果您在任何(高效)网站上找到此信息,您应该通知该网站的所有者,因为这可能是恶意代码!

答案 2 :(得分:1)

数组的第一个元素是以下代码:

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

第二个要素是:

write

答案 3 :(得分:0)

这是混淆的javascript代码。请参阅Sample obfuscator

答案 4 :(得分:0)

你说你正在学习JS,所以解释为什么你能在第22-24页的ECMA-262标准中找到它是什么http://www.ecma-international.org/publications/standards/Ecma-262.htm 因为数组的两个元素介于“所以它们是字符串文字。\”被称为转义字符,\ x必须后跟2个十六进制数字,意思是: “x HexDigit HexDigit是代码单位值为(第一个HexDigit的MV的16倍)加上第二个HexDigit的MV的字符” 所以例如\ x3C相当于'&lt;'字符。