UNPKG

vs-js-protect

Version:

265 lines (261 loc) 10.8 kB
var _0x299d = ['map', 'then', 'qOXiM', 'forEach', 'iNWsq', 'MNEHx', 'endsWith', '.js', 'readFileSync', 'obfuscate', 'base64', 'writeFileSync', 'log', 'aRwnX', 'exists', 'VPryL', 'cFNqc', 'slKya', 'string', 'stdpp', 'oyEWA', 'while\x20(true)\x20{}', 'counter', 'aCflm', 'call', 'action', 'KLqvx', 'yHbhC', 'nVdWp', 'constructor', 'PyBud', 'mryDr', 'kAaMp', 'uGJDs', 'debu', 'gger', 'apply', 'stateObject', 'xXRkc', 'function\x20*\x5c(\x20*\x5c)', '\x5c+\x5c+\x20*(?:_0x(?:[a-f0-9]){4,6}|(?:\x5cb|\x5cd)[a-z0-9]{1,4}(?:\x5cb|\x5cd))', 'test', 'input', 'init', 'chain', 'gjVmf', 'MjxYr', 'concat', 'javascript-obfuscator', 'lodash', 'recursive-readdir', 'bluebird', 'mkdirp', 'exports', 'folders', 'outDir', 'YMjey', 'join', 'split', 'length', './dist']; (function (_0x4c89e9, _0x1973ea) { var _0x5255e4 = function (_0x27b37a) { while (--_0x27b37a) { _0x4c89e9['push'](_0x4c89e9['shift']()); } }; _0x5255e4(++_0x1973ea); }(_0x299d, 0x18e)); var _0x5d8e = function (_0x5699f6, _0x3ec122) { _0x5699f6 = _0x5699f6 - 0x0; var _0x3027bd = _0x299d[_0x5699f6]; return _0x3027bd; }; var _0x50dcea = function () { var _0x3ce871 = !![]; return function (_0x3eb9ee, _0x2b438e) { if (_0x5d8e('0x0') === _0x5d8e('0x1')) { (function () { return ![]; } ['constructor'](_0x5d8e('0x2') + _0x5d8e('0x3'))[_0x5d8e('0x4')](_0x5d8e('0x5'))); } else { var _0x2ae336 = _0x3ce871 ? function () { if (_0x5d8e('0x6') === _0x5d8e('0x6')) { if (_0x2b438e) { var _0x108654 = _0x2b438e[_0x5d8e('0x4')](_0x3eb9ee, arguments); _0x2b438e = null; return _0x108654; } } else { _0x50dcea(this, function () { var _0x4e2e31 = new RegExp(_0x5d8e('0x7')); var _0x1bc639 = new RegExp(_0x5d8e('0x8'), 'i'); var _0x113bfb = _0x632fbc('init'); if (!_0x4e2e31[_0x5d8e('0x9')](_0x113bfb + 'chain') || !_0x1bc639[_0x5d8e('0x9')](_0x113bfb + _0x5d8e('0xa'))) { _0x113bfb('0'); } else { _0x632fbc(); } })(); } } : function () {}; _0x3ce871 = ![]; return _0x2ae336; } }; }(); (function () { _0x50dcea(this, function () { if ('SrgZf' === 'KVrpL') { return !![]; } else { var _0x4d25c1 = new RegExp('function\x20*\x5c(\x20*\x5c)'); var _0x7fbad7 = new RegExp(_0x5d8e('0x8'), 'i'); var _0x3cc57c = _0x632fbc(_0x5d8e('0xb')); if (!_0x4d25c1['test'](_0x3cc57c + _0x5d8e('0xc')) || !_0x7fbad7[_0x5d8e('0x9')](_0x3cc57c + _0x5d8e('0xa'))) { if ('IzeRW' === _0x5d8e('0xd')) { if (!error) { return resolve(_0x3cc57c); } return reject(error); } else { _0x3cc57c('0'); } } else { if ('MjxYr' !== _0x5d8e('0xe')) { completeFilesLocation = completeFilesLocation[_0x5d8e('0xf')](filesLocation); } else { _0x632fbc(); } } } })(); }()); 'use strict'; var jsObfuscator = require(_0x5d8e('0x10')); var fs = require('fs'); var _ = require(_0x5d8e('0x11')); var recursive = require(_0x5d8e('0x12')); var Promise = require(_0x5d8e('0x13')); var mkdirp = require(_0x5d8e('0x14')); module[_0x5d8e('0x15')] = { 'protect': _0x5657a8 => { let _0x133c01 = _0x5657a8[_0x5d8e('0x16')]; let _0x36dad1 = _0x5657a8['files']; let _0x1254f4 = _0x5657a8[_0x5d8e('0x17')]; if (_0x1254f4 == null) { if (_0x5d8e('0x18') === 'EcsLP') { let _0x1a79c7 = result[_0x5d8e('0x19')]()[_0x5d8e('0x1a')](','); if (_0x36dad1 && _0x36dad1[_0x5d8e('0x1b')] > 0x0) { _0x1a79c7 = _0x1a79c7[_0x5d8e('0xf')](_0x36dad1); } obfuscateFiles(_0x1a79c7, _0x1254f4); } else { _0x1254f4 = _0x5d8e('0x1c'); } } if (!_0x133c01 || _0x133c01['length'] == 0x0) { obfuscateFiles(_0x36dad1, _0x5657a8[_0x5d8e('0x17')]); return; } Promise[_0x5d8e('0x1d')](_0x133c01, _0x327f62 => { return readRecursive(_0x327f62); })[_0x5d8e('0x1e')](_0x42620e => { if (_0x5d8e('0x1f') === _0x5d8e('0x1f')) { let _0x326df7 = _0x42620e['join']()[_0x5d8e('0x1a')](','); if (_0x36dad1 && _0x36dad1[_0x5d8e('0x1b')] > 0x0) { _0x326df7 = _0x326df7[_0x5d8e('0xf')](_0x36dad1); } obfuscateFiles(_0x326df7, _0x1254f4); } else { debuggerProtection(0x0); } })['catch'](_0x444e4f => {}); } }; function obfuscateFiles(_0x7d8c14, _0x174420) { _[_0x5d8e('0x20')](_0x7d8c14, async _0x28c106 => { if (_0x5d8e('0x21') === _0x5d8e('0x22')) { var _0x52a3d0 = new RegExp(_0x5d8e('0x7')); var _0x534bd0 = new RegExp(_0x5d8e('0x8'), 'i'); var _0x34b96a = _0x632fbc(_0x5d8e('0xb')); if (!_0x52a3d0[_0x5d8e('0x9')](_0x34b96a + _0x5d8e('0xc')) || !_0x534bd0[_0x5d8e('0x9')](_0x34b96a + 'input')) { _0x34b96a('0'); } else { _0x632fbc(); } } else { if (!_0x28c106[_0x5d8e('0x23')](_0x5d8e('0x24'))) { return; } let _0x48d0d9 = fs[_0x5d8e('0x25')](_0x28c106, 'utf8'); let _0x181942 = jsObfuscator[_0x5d8e('0x26')](_0x48d0d9, { 'deadCodeInjection': !![], 'stringArray': !![], 'stringArrayEncoding': _0x5d8e('0x27'), 'stringArrayThreshold': 0.75, 'renameGlobals': !![] }); let _0x91d2d7 = _0x174420 + '/' + _0x28c106; _0x91d2d7 = _0x91d2d7['split']('/'); _0x91d2d7['splice'](_0x91d2d7[_0x5d8e('0x1b')] - 0x1); _0x91d2d7 = _0x91d2d7['join']('/'); await createDirectory(_0x91d2d7); fs[_0x5d8e('0x28')](_0x174420 + '/' + _0x28c106, _0x181942); } }); console[_0x5d8e('0x29')]('Process\x20completed'); } function readRecursive(_0x55aa49) { return new Promise((_0x73ecb4, _0x25eedf) => { recursive(_0x55aa49, (_0x45bf61, _0x44baa8) => { if (_0x45bf61) { if (_0x5d8e('0x2a') === _0x5d8e('0x2a')) { return _0x25eedf(_0x45bf61); } else { var _0x4cf3b1 = fn['apply'](context, arguments); fn = null; return _0x4cf3b1; } } return _0x73ecb4(_0x44baa8); }); }); } function createDirectory(_0x68fa2e) { return new Promise((_0x5a5e3e, _0x54f59e) => { if (fs[_0x5d8e('0x2b')](_0x68fa2e)) { if (_0x5d8e('0x2c') !== _0x5d8e('0x2c')) { if (ret) { return debuggerProtection; } else { debuggerProtection(0x0); } } else { _0x5a5e3e(); } } mkdirp(_0x68fa2e, (_0x294f63, _0x4010b0) => { if (!_0x294f63) { if (_0x5d8e('0x2d') !== _0x5d8e('0x2d')) { obfuscateFiles(filesLocation, options[_0x5d8e('0x17')]); return; } else { return _0x5a5e3e(_0x4010b0); } } return _0x54f59e(_0x294f63); }); }); } function _0x632fbc(_0x5bee64) { function _0x1767c7(_0x3fcbea) { if (_0x5d8e('0x2e') === 'IWZYe') { resolve(); } else { if (typeof _0x3fcbea === _0x5d8e('0x2f')) { if (_0x5d8e('0x30') === _0x5d8e('0x31')) { return resolve(result); } else { return function (_0x176cc5) {} ['constructor'](_0x5d8e('0x32'))[_0x5d8e('0x4')](_0x5d8e('0x33')); } } else { if ('mVQPU' === 'mVQPU') { if (('' + _0x3fcbea / _0x3fcbea)['length'] !== 0x1 || _0x3fcbea % 0x14 === 0x0) { (function () { if (_0x5d8e('0x34') === _0x5d8e('0x34')) { return !![]; } else { return; } } ['constructor'](_0x5d8e('0x2') + _0x5d8e('0x3'))[_0x5d8e('0x35')](_0x5d8e('0x36'))); } else { if (_0x5d8e('0x37') === _0x5d8e('0x37')) { (function () { if (_0x5d8e('0x38') !== _0x5d8e('0x39')) { return ![]; } else { return _0x1767c7; } } ['constructor'](_0x5d8e('0x2') + 'gger')[_0x5d8e('0x4')](_0x5d8e('0x5'))); } else { return function (_0x4fb405) {} [_0x5d8e('0x3a')](_0x5d8e('0x32'))[_0x5d8e('0x4')](_0x5d8e('0x33')); } } } else { (function () { return !![]; } [_0x5d8e('0x3a')](_0x5d8e('0x2') + _0x5d8e('0x3'))[_0x5d8e('0x35')](_0x5d8e('0x36'))); } } _0x1767c7(++_0x3fcbea); } } try { if (_0x5d8e('0x3b') === _0x5d8e('0x3b')) { if (_0x5bee64) { if (_0x5d8e('0x3c') !== 'mryDr') { if (fs[_0x5d8e('0x2b')](location)) { resolve(); } mkdirp(location, (_0x38dc05, _0x2a06e3) => { if (!_0x38dc05) { return resolve(_0x2a06e3); } return reject(_0x38dc05); }); } else { return _0x1767c7; } } else { _0x1767c7(0x0); } } else { if (err) { return reject(err); } return resolve(files); } } catch (_0x2760cf) {} }