我很抱歉,因为这可能是一个奇怪的问题,但我很困惑。有人知道为什么有人会使用我认为是"十六进制方法"吗?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更容易理解。
这在源代码代码中是不会出现的。