为什么有人会在 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(这可能是一个对应用程序很重要的神奇数字)。
这不是源代码中会出现的内容。
我很抱歉,因为这可能是一个奇怪的问题,但我很困惑。有人知道为什么有人会使用我认为是 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(这可能是一个对应用程序很重要的神奇数字)。
这不是源代码中会出现的内容。