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



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

_0x2f8b, _0xcb6545,_0x893751, _0x1d2177, etc

为什么会有人这样做?此外,我还看到像

这样的代码
'tox20bypassx20thisx20link' 

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

0xb1190

那么,人们是如何得到这种命名约定的,为什么他们想要使用这种命名约定呢?

99%的情况下,像这样的代码会自动被从原始源代码中打乱/混淆,试图使逆向工程变得更加困难。

例如,如果以

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

你可能会使用混淆工具来生成

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

和服务的客户端。阅读200行混淆代码比阅读200行原始源代码要困难得多。

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

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

这在源代码代码中是不会出现的。

相关内容

最新更新