为什么有人会在 javascript 中使用十六进制方法?

Why someone would use a hexadecimal approach in javascript?

我很抱歉,因为这可能是一个奇怪的问题,但我很困惑。有人知道为什么有人会使用我认为是 javascript 的“十六进制方法”吗?即)我看到有人将变量命名为

_0x2f8b, _0xcb6545,_0x893751, _0x1d2177, etc

为什么有人会这样做?另外,我看到类似

的代码
'to\x20bypass\x20this\x20link' 

以及数字的十六进制,例如 725392

0xb1190

那么,怎么会有人得到这种命名约定,他们为什么要使用它?

像这样的代码,在 99% 的情况下,自动 mangled/obfuscated 来自原始源代码,试图使逆向工程变得更加困难.

例如,如果您从

开始
const foo = 'bar';
const somethingElse = 5;

你可能会用an obfuscation tool想出

var _0x2f8b, _0xcb6545;
_0x2f8b = 'bar';
_0xcb6545 = 5;

并为客户提供那个。阅读 200 行混淆代码比阅读 200 行原始源代码要难得多。

as well as hexadecimals for numbers such as 725392

同样的事情 - 与 0xb1190 相比,人类更容易理解 725392(这可能是一个对应用程序很重要的神奇数字)。

这不是代码中会出现的内容。