我正在浏览一些下载的javascripts,发现代码是用十六进制值而不是'普通'js语法编写的。例如:
if (!_0x7cd2x2[_0x2dae[19]](_0x2dae[18])) {
var _0x7cd2x8 = true;
_0x7cd2x2[_0x2dae[21]](_0x2dae[20]);
} else {
var _0x7cd2x8 = false;
_0x7cd2x2[_0x2dae[21]](_0x2dae[22]);
}
;
if (_0x7cd2x2[_0x2dae[19]](_0x2dae[23])) {
var _0x7cd2x9 = true
}
;
有人可以帮助我理解代码及其完成方式。
答案 0 :(得分:0)
所以,实际上,上面的代码是100%完全有效的javascript。原始脚本已通过混淆器运行,以使其难以理解。
最有可能使用的混淆器用变量名替换数字,前缀为“_”,并将数字打印为十六进制值。
要了解代码,您需要整个示例,并且需要很多耐心。