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

I'm learning more of JavaScript and I want to have some idea about this code

本文关键字:段代码 代码 了解 学习 JavaScript      更新时间:2023-09-26

我正在学习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>

有谁知道这是什么意思?

它生成以下数组:

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

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

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

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

第二个要素是:

write
这只是

使用只有一个字符串元素的数组_0x98bd变量

字符串包含一个脚本标记,如果插入到 DOM 中,它将加载一些闪存文件。第二个只包括"写"。

这可能是蠕虫的代码,它利用了一些浏览器错误。如果您在任何(生产性)网站上发现此内容,则应通知该网站的所有者,因为这可能是恶意代码!

这是混淆

的javascript代码。请参阅示例混淆器

你说你正在学习 JS,所以解释为什么它是它是什么,你可以在 ECMA-262 标准第 22-24 页找到它 http://www.ecma-international.org/publications/standards/Ecma-262.htm因为数组的两个元素介于 " 之间,所以它们是字符串文本。'' 称为转义字符,''x 后跟 2 个十六进制数字,意思是:"x 十六进制数字 十六进制数字是其代码单元值为(第一个十六进制数字的 MV 的 16 倍)加上第二个十六进制数字的 MV 的字符"例如,''x3C 等效于"<"字符。