vanzy-protect
Version:
Epic Obfuscator Yeahhh
131 lines (130 loc) • 2.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.obfuscateName = exports._obfuscateName = exports.addObfuscated = exports.REDONE_PAIRS = exports.updateRedo = void 0;
const cfg_1 = require("../config/cfg");
const Randomizer_1 = require("../random/Randomizer");
const map = {};
const _map = [];
const defaults = [
'await',
'break',
'case',
'catch',
'class',
'const',
'continue',
'debugger',
'default',
'delete',
'do',
'else',
'enum',
'export',
'extends',
'false',
'finally',
'for',
'function',
'if',
'implements',
'import',
'in',
'instanceof',
'interface',
'let',
'new',
'null',
'package',
'private',
'protected',
'public',
'return',
'super',
'switch',
'static',
'this',
'throw',
'try',
'true',
'typeof',
'var',
'void',
'while',
'with',
'yield',
'__dirname',
'__filename',
'clearImmediate',
'clearInterval',
'clearTimeout',
'Event',
'EventTarget',
'exports',
'global',
'MessageChannel',
'MessageEvent',
'MessagePort',
'module',
'process',
'queueMicrotask',
'setImmediate',
'setInterval',
'setTimeout',
'TextDecoder',
'TextEncoder',
'URL',
'URLSearchParams',
'WebAssembly'
];
const REDO = [
'String',
'Object',
'Number',
'JSON',
'Math',
'Date',
'console',
'Buffer'
];
function updateRedo() {
if ((0, cfg_1.cfg)().transforms.webMode) {
REDO.push('document');
REDO.push('localStorage');
REDO.push('window');
REDO.push('fetch');
}
else {
REDO.push('require');
}
}
exports.updateRedo = updateRedo;
exports.REDONE_PAIRS = [];
var ranDefaults = false;
function addObfuscated(ogName, newName) {
map[ogName] = newName;
_map.push(newName);
}
exports.addObfuscated = addObfuscated;
function _obfuscateName(name, bfRD = false) {
if (!ranDefaults && !bfRD) {
defaults.forEach(i => map[i] = i);
(0, cfg_1.cfg)().transforms.ignore.forEach(i => map[i] = i);
REDO.forEach((i) => exports.REDONE_PAIRS.push([i, _obfuscateName(i, true)]));
ranDefaults = true;
}
if (map[name])
return map[name];
var rs = Randomizer_1.Randomizer.INSTANCE.randIName(64);
while (_map.includes(rs))
rs = Randomizer_1.Randomizer.INSTANCE.randIName(64);
_map.push(rs);
map[name] = rs;
return rs;
}
exports._obfuscateName = _obfuscateName;
const DEBUG_MODE = false;
function obfuscateName(name) {
const d = DEBUG_MODE ? `_obf_${name}_sus` : _obfuscateName(name);
return d;
}
exports.obfuscateName = obfuscateName;