为什么JavaScript可以用十六进制字符编码?

时间:2016-08-25 08:05:53

标签: javascript hex

我想问你是否见过类似下面的代码。

var _0x655fx23 = _0x655fx2[_0x34ea[0]] > 8 ? 3 : 1;
var _0x655fx10 = new Array(32 * _0x655fx23);
var _0x655fx25 = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0);
var _0x655fx26, _0x655fx27, _0x655fx11 = 0,
    _0x655fx28 = 0,
    _0x655fx14;

我所知道的就是它应该是JavaScript。首先,我尝试将所有十六进制字符转换为ascii,但结果是无意义的(更不用说我有200多行)。

经过一些阅读后,我遇到了一个可能的解决方案:去混淆,但这也不起作用。您是否碰巧有“解码”此类代码的经验?我已经尝试了许多在线工具来尽可能多地恢复代码,但遗憾的是没有运气。

1 个答案:

答案 0 :(得分:3)

没有巫术,只是隐藏了代码的上下文,因为它已被转换为十六进制。您可以将这些重命名为variable1,variable2,variable3,但它们的目的仍然是模糊的。 我想可以使用像grunt这样的工具来实现,类似于缩小代码。