From ee018dd75b1635fee622e0f9ef05d23dad94bfc5 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Sun, 20 Nov 2016 23:55:04 +0300 Subject: [PATCH] moving from `format-unicorn` on `string-template` package --- dist/index.js | 1495 +++++++++-------- package.json | 6 +- src/cli/JavaScriptObfuscatorCLI.ts | 1 + .../ConsoleOutputDisableExpressionNode.ts | 4 +- .../BinaryExpressionDivideFunctionNode.ts | 4 +- ...aryExpressionExponentiationFunctionNode.ts | 4 +- .../BinaryExpressionMultiplyFunctionNode.ts | 4 +- .../BinaryExpressionSubtractFunctionNode.ts | 4 +- .../BinaryExpressionSumFunctionNode.ts | 4 +- .../ControlFlowStorageCallNode.ts | 4 +- .../ControlFlowStorageNode.ts | 4 +- .../DebugProtectionFunctionCallNode.ts | 4 +- .../DebugProtectionFunctionIntervalNode.ts | 4 +- .../DebugProtectionFunctionNode.ts | 4 +- .../domain-lock-nodes/DomainLockNode.ts | 4 +- .../NodeCallsControllerFunctionNode.ts | 6 +- .../SelfDefendingUnicodeNode.ts | 4 +- .../StringArrayCallsWrapper.ts | 10 +- .../string-array-nodes/StringArrayNode.ts | 4 +- .../StringArrayRotateFunctionNode.ts | 6 +- .../AbstractControlFlowReplacer.ts | 2 +- test/dev/dev.ts | 9 +- .../DomainLockNodeTemplate.spec.ts | 4 +- ...tringArrayCallsWrapperNodeTemplate.spec.ts | 10 +- 24 files changed, 806 insertions(+), 799 deletions(-) diff --git a/dist/index.js b/dist/index.js index 2c49c630..1ea3bb3a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -88,7 +88,7 @@ module.exports = /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 97); +/******/ return __webpack_require__(__webpack_require__.s = 107); /******/ }) /************************************************************************/ /******/ ([ @@ -102,8 +102,8 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var chance_1 = __webpack_require__(91); -var JSFuck_1 = __webpack_require__(21); +var chance_1 = __webpack_require__(101); +var JSFuck_1 = __webpack_require__(20); var Utils = function () { function Utils() { @@ -307,6 +307,53 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +var NodeUtils_1 = __webpack_require__(8); + +var AbstractCustomNode = function () { + function AbstractCustomNode(options) { + _classCallCheck(this, AbstractCustomNode); + + this.options = options; + } + + _createClass(AbstractCustomNode, [{ + key: "getAppendState", + value: function getAppendState() { + return this.appendState; + } + }, { + key: "getNode", + value: function getNode() { + return this.getNodeStructure(); + } + }, { + key: "setAppendState", + value: function setAppendState(appendState) { + this.appendState = appendState; + } + }, { + key: "getNodeStructure", + value: function getNodeStructure() { + return NodeUtils_1.NodeUtils.convertCodeToStructure(this.getCode()); + } + }]); + + return AbstractCustomNode; +}(); + +exports.AbstractCustomNode = AbstractCustomNode; + +/***/ }, +/* 3 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var NodeType_1 = __webpack_require__(6); var Node = function () { @@ -440,7 +487,7 @@ var Node = function () { exports.Node = Node; /***/ }, -/* 3 */ +/* 4 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -567,58 +614,11 @@ var NodeAppender = function () { exports.NodeAppender = NodeAppender; /***/ }, -/* 4 */ +/* 5 */ /***/ function(module, exports) { module.exports = require("estraverse"); -/***/ }, -/* 5 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var NodeUtils_1 = __webpack_require__(7); - -var AbstractCustomNode = function () { - function AbstractCustomNode(options) { - _classCallCheck(this, AbstractCustomNode); - - this.options = options; - } - - _createClass(AbstractCustomNode, [{ - key: "getAppendState", - value: function getAppendState() { - return this.appendState; - } - }, { - key: "getNode", - value: function getNode() { - return this.getNodeStructure(); - } - }, { - key: "setAppendState", - value: function setAppendState(appendState) { - this.appendState = appendState; - } - }, { - key: "getNodeStructure", - value: function getNodeStructure() { - return NodeUtils_1.NodeUtils.convertCodeToStructure(this.getCode()); - } - }]); - - return AbstractCustomNode; -}(); - -exports.AbstractCustomNode = AbstractCustomNode; - /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { @@ -671,11 +671,51 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var escodegen = __webpack_require__(14); -var esprima = __webpack_require__(24); -var estraverse = __webpack_require__(4); +var JavaScriptObfuscatorCLI_1 = __webpack_require__(33); +var JavaScriptObfuscatorInternal_1 = __webpack_require__(28); + +var JavaScriptObfuscator = function () { + function JavaScriptObfuscator() { + _classCallCheck(this, JavaScriptObfuscator); + } + + _createClass(JavaScriptObfuscator, null, [{ + key: 'obfuscate', + value: function obfuscate(sourceCode) { + var obfuscatorOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var javaScriptObfuscator = new JavaScriptObfuscatorInternal_1.JavaScriptObfuscatorInternal(sourceCode, obfuscatorOptions); + javaScriptObfuscator.obfuscate(); + return javaScriptObfuscator.getObfuscationResult(); + } + }, { + key: 'runCLI', + value: function runCLI(argv) { + new JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI(argv).run(); + } + }]); + + return JavaScriptObfuscator; +}(); + +exports.JavaScriptObfuscator = JavaScriptObfuscator; + +/***/ }, +/* 8 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var escodegen = __webpack_require__(11); +var esprima = __webpack_require__(23); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); -var Node_1 = __webpack_require__(2); +var Node_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); var NodeUtils = function () { @@ -795,12 +835,6 @@ var NodeUtils = function () { NodeUtils.nodesWithBlockScope = [NodeType_1.NodeType.ArrowFunctionExpression, NodeType_1.NodeType.FunctionDeclaration, NodeType_1.NodeType.FunctionExpression, NodeType_1.NodeType.MethodDefinition, NodeType_1.NodeType.Program]; exports.NodeUtils = NodeUtils; -/***/ }, -/* 8 */ -/***/ function(module, exports) { - -module.exports = require("format-unicorn"); - /***/ }, /* 9 */ /***/ function(module, exports) { @@ -826,41 +860,35 @@ exports.AbstractNodeObfuscator = AbstractNodeObfuscator; "use strict"; "use strict"; -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var JavaScriptObfuscatorCLI_1 = __webpack_require__(33); -var JavaScriptObfuscatorInternal_1 = __webpack_require__(28); - -var JavaScriptObfuscator = function () { - function JavaScriptObfuscator() { - _classCallCheck(this, JavaScriptObfuscator); - } - - _createClass(JavaScriptObfuscator, null, [{ - key: 'obfuscate', - value: function obfuscate(sourceCode) { - var obfuscatorOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var javaScriptObfuscator = new JavaScriptObfuscatorInternal_1.JavaScriptObfuscatorInternal(sourceCode, obfuscatorOptions); - javaScriptObfuscator.obfuscate(); - return javaScriptObfuscator.getObfuscationResult(); - } - }, { - key: 'runCLI', - value: function runCLI(argv) { - new JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI(argv).run(); - } - }]); - - return JavaScriptObfuscator; -}(); - -exports.JavaScriptObfuscator = JavaScriptObfuscator; +var SourceMapMode_1 = __webpack_require__(14); +exports.NO_CUSTOM_NODES_PRESET = Object.freeze({ + compact: true, + controlFlow: false, + debugProtection: false, + debugProtectionInterval: false, + disableConsoleOutput: false, + domainLock: [], + reservedNames: [], + rotateStringArray: false, + selfDefending: false, + sourceMap: false, + sourceMapBaseUrl: '', + sourceMapFileName: '', + sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, + stringArray: false, + stringArrayEncoding: false, + stringArrayThreshold: 0, + unicodeEscapeSequence: true +}); /***/ }, /* 11 */ +/***/ function(module, exports) { + +module.exports = require("escodegen"); + +/***/ }, +/* 12 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -899,7 +927,7 @@ var AbstractNodesGroup = function () { exports.AbstractNodesGroup = AbstractNodesGroup; /***/ }, -/* 12 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -913,7 +941,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var AbstractReplacer_1 = __webpack_require__(16); +var AbstractReplacer_1 = __webpack_require__(15); var Utils_1 = __webpack_require__(0); var IdentifierReplacer = function (_AbstractReplacer_1$A) { @@ -958,44 +986,10 @@ var IdentifierReplacer = function (_AbstractReplacer_1$A) { exports.IdentifierReplacer = IdentifierReplacer; -/***/ }, -/* 13 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var SourceMapMode_1 = __webpack_require__(15); -exports.NO_CUSTOM_NODES_PRESET = Object.freeze({ - compact: true, - controlFlow: false, - debugProtection: false, - debugProtectionInterval: false, - disableConsoleOutput: false, - domainLock: [], - reservedNames: [], - rotateStringArray: false, - selfDefending: false, - sourceMap: false, - sourceMapBaseUrl: '', - sourceMapFileName: '', - sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, - stringArray: false, - stringArrayEncoding: false, - stringArrayThreshold: 0, - unicodeEscapeSequence: true -}); - /***/ }, /* 14 */ /***/ function(module, exports) { -module.exports = require("escodegen"); - -/***/ }, -/* 15 */ -/***/ function(module, exports) { - "use strict"; "use strict"; @@ -1005,7 +999,7 @@ exports.SourceMapMode = { }; /***/ }, -/* 16 */ +/* 15 */ /***/ function(module, exports) { "use strict"; @@ -1023,7 +1017,7 @@ var AbstractReplacer = function AbstractReplacer(nodes, options) { exports.AbstractReplacer = AbstractReplacer; /***/ }, -/* 17 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1037,13 +1031,13 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var SingleNodeCallControllerTemplate_1 = __webpack_require__(73); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var NodeAppender_1 = __webpack_require__(3); +var SingleNodeCallControllerTemplate_1 = __webpack_require__(78); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var NodeAppender_1 = __webpack_require__(4); var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) { _inherits(NodeCallsControllerFunctionNode, _AbstractCustomNode_); @@ -1075,11 +1069,11 @@ var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) { key: 'getCode', value: function getCode() { if (this.appendState === AppendState_1.AppendState.AfterObfuscation) { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(SingleNodeCallControllerTemplate_1.SingleNodeCallControllerTemplate().formatUnicorn({ + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(SingleNodeCallControllerTemplate_1.SingleNodeCallControllerTemplate(), { singleNodeCallControllerFunctionName: this.callsControllerFunctionName }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); } - return SingleNodeCallControllerTemplate_1.SingleNodeCallControllerTemplate().formatUnicorn({ + return format(SingleNodeCallControllerTemplate_1.SingleNodeCallControllerTemplate(), { singleNodeCallControllerFunctionName: this.callsControllerFunctionName }); } @@ -1091,7 +1085,7 @@ var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) { exports.NodeCallsControllerFunctionNode = NodeCallsControllerFunctionNode; /***/ }, -/* 18 */ +/* 17 */ /***/ function(module, exports) { "use strict"; @@ -1103,7 +1097,7 @@ exports.StringArrayEncoding = { }; /***/ }, -/* 19 */ +/* 18 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1117,9 +1111,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var StringArrayEncoding_1 = __webpack_require__(18); -var AbstractReplacer_1 = __webpack_require__(16); -var NumberLiteralReplacer_1 = __webpack_require__(22); +var StringArrayEncoding_1 = __webpack_require__(17); +var AbstractReplacer_1 = __webpack_require__(15); +var NumberLiteralReplacer_1 = __webpack_require__(21); var Utils_1 = __webpack_require__(0); var StringLiteralReplacer = function (_AbstractReplacer_1$A) { @@ -1192,7 +1186,7 @@ StringLiteralReplacer.rc4Keys = Utils_1.Utils.getRandomGenerator().n(function () exports.StringLiteralReplacer = StringLiteralReplacer; /***/ }, -/* 20 */ +/* 19 */ /***/ function(module, exports) { "use strict"; @@ -1233,7 +1227,7 @@ var ObfuscationResult = function () { exports.ObfuscationResult = ObfuscationResult; /***/ }, -/* 21 */ +/* 20 */ /***/ function(module, exports) { "use strict"; @@ -1298,7 +1292,7 @@ exports.JSFuck = { }; /***/ }, -/* 22 */ +/* 21 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1312,7 +1306,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var AbstractReplacer_1 = __webpack_require__(16); +var AbstractReplacer_1 = __webpack_require__(15); var Utils_1 = __webpack_require__(0); var NumberLiteralReplacer = function (_AbstractReplacer_1$A) { @@ -1341,13 +1335,13 @@ var NumberLiteralReplacer = function (_AbstractReplacer_1$A) { exports.NumberLiteralReplacer = NumberLiteralReplacer; /***/ }, -/* 23 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -var SourceMapMode_1 = __webpack_require__(15); +var SourceMapMode_1 = __webpack_require__(14); exports.DEFAULT_PRESET = Object.freeze({ compact: true, controlFlow: false, @@ -1369,17 +1363,23 @@ exports.DEFAULT_PRESET = Object.freeze({ }); /***/ }, -/* 24 */ +/* 23 */ /***/ function(module, exports) { module.exports = require("esprima"); /***/ }, -/* 25 */ +/* 24 */ /***/ function(module, exports) { module.exports = require("path"); +/***/ }, +/* 25 */ +/***/ function(module, exports) { + +module.exports = require("string-template"); + /***/ }, /* 26 */ /***/ function(module, exports) { @@ -1455,11 +1455,11 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var esprima = __webpack_require__(24); -var escodegen = __webpack_require__(14); -var ObfuscationResult_1 = __webpack_require__(20); +var esprima = __webpack_require__(23); +var escodegen = __webpack_require__(11); +var ObfuscationResult_1 = __webpack_require__(19); var Obfuscator_1 = __webpack_require__(29); -var Options_1 = __webpack_require__(64); +var Options_1 = __webpack_require__(69); var SourceMapCorrector_1 = __webpack_require__(30); var JavaScriptObfuscatorInternal = function () { @@ -1525,27 +1525,27 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var AppendState_1 = __webpack_require__(1); var NodeType_1 = __webpack_require__(6); -var CatchClauseObfuscator_1 = __webpack_require__(54); -var ConsoleOutputNodesGroup_1 = __webpack_require__(49); -var DebugProtectionNodesGroup_1 = __webpack_require__(50); -var DomainLockNodesGroup_1 = __webpack_require__(51); -var FunctionDeclarationObfuscator_1 = __webpack_require__(55); -var FunctionObfuscator_1 = __webpack_require__(56); -var LabeledStatementObfuscator_1 = __webpack_require__(57); -var LiteralObfuscator_1 = __webpack_require__(58); -var MemberExpressionObfuscator_1 = __webpack_require__(59); -var MethodDefinitionObfuscator_1 = __webpack_require__(60); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); -var ObjectExpressionObfuscator_1 = __webpack_require__(61); -var SelfDefendingNodesGroup_1 = __webpack_require__(52); -var StackTraceAnalyzer_1 = __webpack_require__(67); -var StringArrayNodesGroup_1 = __webpack_require__(53); -var VariableDeclarationObfuscator_1 = __webpack_require__(62); -var FunctionControlFlowChanger_1 = __webpack_require__(46); +var CatchClauseObfuscator_1 = __webpack_require__(59); +var ConsoleOutputNodesGroup_1 = __webpack_require__(54); +var DebugProtectionNodesGroup_1 = __webpack_require__(55); +var DomainLockNodesGroup_1 = __webpack_require__(56); +var FunctionDeclarationObfuscator_1 = __webpack_require__(60); +var FunctionObfuscator_1 = __webpack_require__(61); +var LabeledStatementObfuscator_1 = __webpack_require__(62); +var LiteralObfuscator_1 = __webpack_require__(63); +var MemberExpressionObfuscator_1 = __webpack_require__(64); +var MethodDefinitionObfuscator_1 = __webpack_require__(65); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); +var ObjectExpressionObfuscator_1 = __webpack_require__(66); +var SelfDefendingNodesGroup_1 = __webpack_require__(57); +var StackTraceAnalyzer_1 = __webpack_require__(72); +var StringArrayNodesGroup_1 = __webpack_require__(58); +var VariableDeclarationObfuscator_1 = __webpack_require__(67); +var FunctionControlFlowChanger_1 = __webpack_require__(51); var Obfuscator = function () { function Obfuscator(options) { @@ -1674,8 +1674,8 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var SourceMapMode_1 = __webpack_require__(15); -var ObfuscationResult_1 = __webpack_require__(20); +var SourceMapMode_1 = __webpack_require__(14); +var ObfuscationResult_1 = __webpack_require__(19); var Utils_1 = __webpack_require__(0); var SourceMapCorrector = function () { @@ -1791,9 +1791,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var fs = __webpack_require__(94); -var mkdirp = __webpack_require__(95); -var path = __webpack_require__(25); +var fs = __webpack_require__(104); +var mkdirp = __webpack_require__(105); +var path = __webpack_require__(24); var Utils_1 = __webpack_require__(0); var CLIUtils = function () { @@ -1883,13 +1883,13 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var commander = __webpack_require__(93); -var path = __webpack_require__(25); -var SourceMapMode_1 = __webpack_require__(15); -var StringArrayEncoding_1 = __webpack_require__(18); -var DefaultPreset_1 = __webpack_require__(23); +var commander = __webpack_require__(103); +var path = __webpack_require__(24); +var SourceMapMode_1 = __webpack_require__(14); +var StringArrayEncoding_1 = __webpack_require__(17); +var DefaultPreset_1 = __webpack_require__(22); var CLIUtils_1 = __webpack_require__(32); -var JavaScriptObfuscator_1 = __webpack_require__(10); +var JavaScriptObfuscator_1 = __webpack_require__(7); var Utils_1 = __webpack_require__(0); var JavaScriptObfuscatorCLI = function () { @@ -1933,7 +1933,7 @@ var JavaScriptObfuscatorCLI = function () { }, { key: 'configureCommands', value: function configureCommands() { - this.commands = new commander.Command().version(JavaScriptObfuscatorCLI.getBuildVersion(), '-v, --version').usage(' [options]').option('-o, --output ', 'Output path for obfuscated code').option('--compact ', 'Disable one line output code compacting', JavaScriptObfuscatorCLI.parseBoolean).option('--debugProtection ', 'Disable browser Debug panel (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean).option('--debugProtectionInterval ', 'Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean).option('--disableConsoleOutput ', 'Allow console.log, console.info, console.error and console.warn messages output into browser console', JavaScriptObfuscatorCLI.parseBoolean).option('--domainLock ', 'Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)', function (val) { + this.commands = new commander.Command().version(JavaScriptObfuscatorCLI.getBuildVersion(), '-v, --version').usage(' [options]').option('-o, --output ', 'Output path for obfuscated code').option('--compact ', 'Disable one line output code compacting', JavaScriptObfuscatorCLI.parseBoolean).option('--controlFlow ', 'Enables control flow change', JavaScriptObfuscatorCLI.parseBoolean).option('--debugProtection ', 'Disable browser Debug panel (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean).option('--debugProtectionInterval ', 'Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean).option('--disableConsoleOutput ', 'Allow console.log, console.info, console.error and console.warn messages output into browser console', JavaScriptObfuscatorCLI.parseBoolean).option('--domainLock ', 'Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)', function (val) { return val.split(','); }).option('--reservedNames ', 'Disable obfuscation of variable names, function names and names of function parameters that match the passed RegExp patterns (comma separated)', function (val) { return val.split(','); @@ -2035,11 +2035,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(74); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(79); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var ConsoleOutputDisableExpressionNode = function (_AbstractCustomNode_) { @@ -2065,7 +2065,7 @@ var ConsoleOutputDisableExpressionNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return ConsoleOutputDisableExpressionTemplate_1.ConsoleOutputDisableExpressionTemplate().formatUnicorn({ + return format(ConsoleOutputDisableExpressionTemplate_1.ConsoleOutputDisableExpressionTemplate(), { consoleLogDisableFunctionName: Utils_1.Utils.getRandomVariableName(), singleNodeCallControllerFunctionName: this.callsControllerFunctionName }); @@ -2092,12 +2092,220 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var BinaryExpressionSumFunctionTemplate_1 = __webpack_require__(75); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var BinaryExpressionDivideFunctionTemplate_1 = __webpack_require__(80); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var Utils_1 = __webpack_require__(0); + +var BinaryExpressionDivideFunctionNode = function (_AbstractCustomNode_) { + _inherits(BinaryExpressionDivideFunctionNode, _AbstractCustomNode_); + + function BinaryExpressionDivideFunctionNode() { + _classCallCheck(this, BinaryExpressionDivideFunctionNode); + + var _this = _possibleConstructorReturn(this, (BinaryExpressionDivideFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionDivideFunctionNode)).apply(this, arguments)); + + _this.appendState = AppendState_1.AppendState.BeforeObfuscation; + return _this; + } + + _createClass(BinaryExpressionDivideFunctionNode, [{ + key: 'appendNode', + value: function appendNode(blockScopeNode) {} + }, { + key: 'getCode', + value: function getCode() { + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(BinaryExpressionDivideFunctionTemplate_1.BinaryExpressionDivideFunctionTemplate(), { + functionName: Utils_1.Utils.getRandomVariableName() + }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); + } + }]); + + return BinaryExpressionDivideFunctionNode; +}(AbstractCustomNode_1.AbstractCustomNode); + +exports.BinaryExpressionDivideFunctionNode = BinaryExpressionDivideFunctionNode; + +/***/ }, +/* 36 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var format = __webpack_require__(25); +var AppendState_1 = __webpack_require__(1); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var BinaryExpressionExponentitionFunctionTemplate_1 = __webpack_require__(81); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var Utils_1 = __webpack_require__(0); + +var BinaryExpressionExponentiationFunctionNode = function (_AbstractCustomNode_) { + _inherits(BinaryExpressionExponentiationFunctionNode, _AbstractCustomNode_); + + function BinaryExpressionExponentiationFunctionNode() { + _classCallCheck(this, BinaryExpressionExponentiationFunctionNode); + + var _this = _possibleConstructorReturn(this, (BinaryExpressionExponentiationFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionExponentiationFunctionNode)).apply(this, arguments)); + + _this.appendState = AppendState_1.AppendState.BeforeObfuscation; + return _this; + } + + _createClass(BinaryExpressionExponentiationFunctionNode, [{ + key: 'appendNode', + value: function appendNode(blockScopeNode) {} + }, { + key: 'getCode', + value: function getCode() { + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(BinaryExpressionExponentitionFunctionTemplate_1.BinaryExpressionExponentiationFunctionTemplate(), { + functionName: Utils_1.Utils.getRandomVariableName() + }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); + } + }]); + + return BinaryExpressionExponentiationFunctionNode; +}(AbstractCustomNode_1.AbstractCustomNode); + +exports.BinaryExpressionExponentiationFunctionNode = BinaryExpressionExponentiationFunctionNode; + +/***/ }, +/* 37 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var format = __webpack_require__(25); +var AppendState_1 = __webpack_require__(1); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var BinaryExpressionMultiplyFunctionTemplate_1 = __webpack_require__(82); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var Utils_1 = __webpack_require__(0); + +var BinaryExpressionMultiplyFunctionNode = function (_AbstractCustomNode_) { + _inherits(BinaryExpressionMultiplyFunctionNode, _AbstractCustomNode_); + + function BinaryExpressionMultiplyFunctionNode() { + _classCallCheck(this, BinaryExpressionMultiplyFunctionNode); + + var _this = _possibleConstructorReturn(this, (BinaryExpressionMultiplyFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionMultiplyFunctionNode)).apply(this, arguments)); + + _this.appendState = AppendState_1.AppendState.BeforeObfuscation; + return _this; + } + + _createClass(BinaryExpressionMultiplyFunctionNode, [{ + key: 'appendNode', + value: function appendNode(blockScopeNode) {} + }, { + key: 'getCode', + value: function getCode() { + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(BinaryExpressionMultiplyFunctionTemplate_1.BinaryExpressionMultiplyFunctionTemplate(), { + functionName: Utils_1.Utils.getRandomVariableName() + }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); + } + }]); + + return BinaryExpressionMultiplyFunctionNode; +}(AbstractCustomNode_1.AbstractCustomNode); + +exports.BinaryExpressionMultiplyFunctionNode = BinaryExpressionMultiplyFunctionNode; + +/***/ }, +/* 38 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var format = __webpack_require__(25); +var AppendState_1 = __webpack_require__(1); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var BinaryExpressionSubtractFunctionTemplate_1 = __webpack_require__(83); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var Utils_1 = __webpack_require__(0); + +var BinaryExpressionSubtractFunctionNode = function (_AbstractCustomNode_) { + _inherits(BinaryExpressionSubtractFunctionNode, _AbstractCustomNode_); + + function BinaryExpressionSubtractFunctionNode() { + _classCallCheck(this, BinaryExpressionSubtractFunctionNode); + + var _this = _possibleConstructorReturn(this, (BinaryExpressionSubtractFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionSubtractFunctionNode)).apply(this, arguments)); + + _this.appendState = AppendState_1.AppendState.BeforeObfuscation; + return _this; + } + + _createClass(BinaryExpressionSubtractFunctionNode, [{ + key: 'appendNode', + value: function appendNode(blockScopeNode) {} + }, { + key: 'getCode', + value: function getCode() { + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(BinaryExpressionSubtractFunctionTemplate_1.BinaryExpressionSubtractFunctionTemplate(), { + functionName: Utils_1.Utils.getRandomVariableName() + }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); + } + }]); + + return BinaryExpressionSubtractFunctionNode; +}(AbstractCustomNode_1.AbstractCustomNode); + +exports.BinaryExpressionSubtractFunctionNode = BinaryExpressionSubtractFunctionNode; + +/***/ }, +/* 39 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var format = __webpack_require__(25); +var AppendState_1 = __webpack_require__(1); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var BinaryExpressionSumFunctionTemplate_1 = __webpack_require__(84); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); var Utils_1 = __webpack_require__(0); var BinaryExpressionSumFunctionNode = function (_AbstractCustomNode_) { @@ -2118,7 +2326,7 @@ var BinaryExpressionSumFunctionNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(BinaryExpressionSumFunctionTemplate_1.BinaryExpressionSumFunctionTemplate().formatUnicorn({ + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(BinaryExpressionSumFunctionTemplate_1.BinaryExpressionSumFunctionTemplate(), { functionName: Utils_1.Utils.getRandomVariableName() }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); } @@ -2130,7 +2338,7 @@ var BinaryExpressionSumFunctionNode = function (_AbstractCustomNode_) { exports.BinaryExpressionSumFunctionNode = BinaryExpressionSumFunctionNode; /***/ }, -/* 36 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2144,11 +2352,70 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var ControlFlowStorageTemplate_1 = __webpack_require__(76); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var ControlFlowStorageCallTemplate_1 = __webpack_require__(85); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); + +var ControlFlowStorageCallNode = function (_AbstractCustomNode_) { + _inherits(ControlFlowStorageCallNode, _AbstractCustomNode_); + + function ControlFlowStorageCallNode(controlFlowStorageName, controlFlowStorageKey, leftValue, rightValue, options) { + _classCallCheck(this, ControlFlowStorageCallNode); + + var _this = _possibleConstructorReturn(this, (ControlFlowStorageCallNode.__proto__ || Object.getPrototypeOf(ControlFlowStorageCallNode)).call(this, options)); + + _this.appendState = AppendState_1.AppendState.AfterObfuscation; + _this.controlFlowStorageName = controlFlowStorageName; + _this.controlFlowStorageKey = controlFlowStorageKey; + _this.leftValue = leftValue; + _this.rightValue = rightValue; + return _this; + } + + _createClass(ControlFlowStorageCallNode, [{ + key: 'appendNode', + value: function appendNode(blockScopeNode) { + NodeAppender_1.NodeAppender.prependNode(blockScopeNode, this.getNode()); + } + }, { + key: 'getCode', + value: function getCode() { + return format(ControlFlowStorageCallTemplate_1.ControlFlowStorageCallTemplate(), { + controlFlowStorageKey: this.controlFlowStorageKey, + controlFlowStorageName: this.controlFlowStorageName, + leftValue: this.leftValue, + rightValue: this.rightValue + }); + } + }]); + + return ControlFlowStorageCallNode; +}(AbstractCustomNode_1.AbstractCustomNode); + +exports.ControlFlowStorageCallNode = ControlFlowStorageCallNode; + +/***/ }, +/* 41 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var format = __webpack_require__(25); +var AppendState_1 = __webpack_require__(1); +var ControlFlowStorageTemplate_1 = __webpack_require__(86); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var ControlFlowStorageNode = function (_AbstractCustomNode_) { _inherits(ControlFlowStorageNode, _AbstractCustomNode_); @@ -2172,7 +2439,7 @@ var ControlFlowStorageNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return ControlFlowStorageTemplate_1.ControlFlowStorageTemplate().formatUnicorn({ + return format(ControlFlowStorageTemplate_1.ControlFlowStorageTemplate(), { controlFlowStorage: this.controlFlowStorage.toString(), controlFlowStorageName: this.controlFlowStorageName }); @@ -2200,7 +2467,7 @@ var ControlFlowStorageNode = function (_AbstractCustomNode_) { exports.ControlFlowStorageNode = ControlFlowStorageNode; /***/ }, -/* 37 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2214,11 +2481,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(77); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(87); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var DebugProtectionFunctionCallNode = function (_AbstractCustomNode_) { _inherits(DebugProtectionFunctionCallNode, _AbstractCustomNode_); @@ -2241,7 +2508,7 @@ var DebugProtectionFunctionCallNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return DebufProtectionFunctionCallTemplate_1.DebugProtectionFunctionCallTemplate().formatUnicorn({ + return format(DebufProtectionFunctionCallTemplate_1.DebugProtectionFunctionCallTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } @@ -2253,7 +2520,7 @@ var DebugProtectionFunctionCallNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionCallNode = DebugProtectionFunctionCallNode; /***/ }, -/* 38 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2267,11 +2534,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(78); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(88); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var DebugProtectionFunctionIntervalNode = function (_AbstractCustomNode_) { _inherits(DebugProtectionFunctionIntervalNode, _AbstractCustomNode_); @@ -2294,7 +2561,7 @@ var DebugProtectionFunctionIntervalNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return DebugProtectionFunctionIntervalTemplate_1.DebugProtectionFunctionIntervalTemplate().formatUnicorn({ + return format(DebugProtectionFunctionIntervalTemplate_1.DebugProtectionFunctionIntervalTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } @@ -2306,7 +2573,7 @@ var DebugProtectionFunctionIntervalNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionIntervalNode = DebugProtectionFunctionIntervalNode; /***/ }, -/* 39 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2320,11 +2587,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var DebugProtectionFunctionTemplate_1 = __webpack_require__(79); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var DebugProtectionFunctionTemplate_1 = __webpack_require__(89); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var DebugProtectionFunctionNode = function (_AbstractCustomNode_) { @@ -2353,7 +2620,7 @@ var DebugProtectionFunctionNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return DebugProtectionFunctionTemplate_1.DebugProtectionFunctionTemplate().formatUnicorn({ + return format(DebugProtectionFunctionTemplate_1.DebugProtectionFunctionTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } @@ -2370,7 +2637,7 @@ var DebugProtectionFunctionNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionNode = DebugProtectionFunctionNode; /***/ }, -/* 40 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2386,11 +2653,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var DomainLockNodeTemplate_1 = __webpack_require__(80); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var DomainLockNodeTemplate_1 = __webpack_require__(90); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var DomainLockNode = function (_AbstractCustomNode_) { @@ -2421,7 +2688,7 @@ var DomainLockNode = function (_AbstractCustomNode_) { _Utils_1$Utils$hideSt2 = _slicedToArray(_Utils_1$Utils$hideSt, 2), hiddenDomainsString = _Utils_1$Utils$hideSt2[0], diff = _Utils_1$Utils$hideSt2[1]; - return DomainLockNodeTemplate_1.DomainLockNodeTemplate().formatUnicorn({ + return format(DomainLockNodeTemplate_1.DomainLockNodeTemplate(), { domainLockFunctionName: Utils_1.Utils.getRandomVariableName(), diff: diff, domains: hiddenDomainsString, @@ -2436,7 +2703,7 @@ var DomainLockNode = function (_AbstractCustomNode_) { exports.DomainLockNode = DomainLockNode; /***/ }, -/* 41 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2450,12 +2717,13 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var SelfDefendingTemplate_1 = __webpack_require__(81); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); -var JavaScriptObfuscator_1 = __webpack_require__(10); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var SelfDefendingTemplate_1 = __webpack_require__(91); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); +var JavaScriptObfuscator_1 = __webpack_require__(7); var Utils_1 = __webpack_require__(0); var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) { @@ -2481,7 +2749,7 @@ var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(SelfDefendingTemplate_1.SelfDefendingTemplate().formatUnicorn({ + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(SelfDefendingTemplate_1.SelfDefendingTemplate(), { selfDefendingFunctionName: Utils_1.Utils.getRandomVariableName(), singleNodeCallControllerFunctionName: this.callsControllerFunctionName }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); @@ -2494,7 +2762,7 @@ var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) { exports.SelfDefendingUnicodeNode = SelfDefendingUnicodeNode; /***/ }, -/* 42 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2510,19 +2778,19 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var StringArrayEncoding_1 = __webpack_require__(18); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var AtobTemplate_1 = __webpack_require__(71); -var Rc4Template_1 = __webpack_require__(72); -var SelfDefendingTemplate_1 = __webpack_require__(82); -var StringArrayBase64DecodeNodeTemplate_1 = __webpack_require__(83); -var StringArrayCallsWrapperTemplate_1 = __webpack_require__(84); -var StringArrayRC4DecodeNodeTemplate_1 = __webpack_require__(85); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var NodeAppender_1 = __webpack_require__(3); +var StringArrayEncoding_1 = __webpack_require__(17); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var AtobTemplate_1 = __webpack_require__(76); +var Rc4Template_1 = __webpack_require__(77); +var SelfDefendingTemplate_1 = __webpack_require__(92); +var StringArrayBase64DecodeNodeTemplate_1 = __webpack_require__(93); +var StringArrayCallsWrapperTemplate_1 = __webpack_require__(94); +var StringArrayRC4DecodeNodeTemplate_1 = __webpack_require__(95); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var NodeAppender_1 = __webpack_require__(4); var StringArrayCallsWrapper = function (_AbstractCustomNode_) { _inherits(StringArrayCallsWrapper, _AbstractCustomNode_); @@ -2551,7 +2819,7 @@ var StringArrayCallsWrapper = function (_AbstractCustomNode_) { key: 'getCode', value: function getCode() { var decodeNodeTemplate = this.getDecodeStringArrayTemplate(); - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(StringArrayCallsWrapperTemplate_1.StringArrayCallsWrapperTemplate().formatUnicorn({ + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(StringArrayCallsWrapperTemplate_1.StringArrayCallsWrapperTemplate(), { decodeNodeTemplate: decodeNodeTemplate, stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, stringArrayName: this.stringArrayName @@ -2573,21 +2841,21 @@ var StringArrayCallsWrapper = function (_AbstractCustomNode_) { var decodeStringArrayTemplate = '', selfDefendingCode = ''; if (this.options.selfDefending) { - selfDefendingCode = SelfDefendingTemplate_1.SelfDefendingTemplate().formatUnicorn({ + selfDefendingCode = format(SelfDefendingTemplate_1.SelfDefendingTemplate(), { stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, stringArrayName: this.stringArrayName }); } switch (this.options.stringArrayEncoding) { case StringArrayEncoding_1.StringArrayEncoding.base64: - decodeStringArrayTemplate = StringArrayBase64DecodeNodeTemplate_1.StringArrayBase64DecodeNodeTemplate().formatUnicorn({ + decodeStringArrayTemplate = format(StringArrayBase64DecodeNodeTemplate_1.StringArrayBase64DecodeNodeTemplate(), { atobPolyfill: AtobTemplate_1.AtobTemplate(), selfDefendingCode: selfDefendingCode, stringArrayCallsWrapperName: this.stringArrayCallsWrapperName }); break; case StringArrayEncoding_1.StringArrayEncoding.rc4: - decodeStringArrayTemplate = StringArrayRC4DecodeNodeTemplate_1.StringArrayRc4DecodeNodeTemplate().formatUnicorn({ + decodeStringArrayTemplate = format(StringArrayRC4DecodeNodeTemplate_1.StringArrayRc4DecodeNodeTemplate(), { atobPolyfill: AtobTemplate_1.AtobTemplate(), rc4Polyfill: Rc4Template_1.Rc4Template(), selfDefendingCode: selfDefendingCode, @@ -2605,7 +2873,7 @@ var StringArrayCallsWrapper = function (_AbstractCustomNode_) { exports.StringArrayCallsWrapper = StringArrayCallsWrapper; /***/ }, -/* 43 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2621,11 +2889,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var StringArrayTemplate_1 = __webpack_require__(86); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); +var StringArrayTemplate_1 = __webpack_require__(96); +var AbstractCustomNode_1 = __webpack_require__(2); +var NodeAppender_1 = __webpack_require__(4); var StringArrayNode = function (_AbstractCustomNode_) { _inherits(StringArrayNode, _AbstractCustomNode_); @@ -2656,7 +2924,7 @@ var StringArrayNode = function (_AbstractCustomNode_) { }, { key: 'getCode', value: function getCode() { - return StringArrayTemplate_1.StringArrayTemplate().formatUnicorn({ + return format(StringArrayTemplate_1.StringArrayTemplate(), { stringArrayName: this.stringArrayName, stringArray: this.stringArray.toString() }); @@ -2691,7 +2959,7 @@ StringArrayNode.ARRAY_RANDOM_LENGTH = 4; exports.StringArrayNode = StringArrayNode; /***/ }, -/* 44 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2705,14 +2973,14 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -__webpack_require__(8); +var format = __webpack_require__(25); var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var SelfDefendingTemplate_1 = __webpack_require__(87); -var StringArrayRotateFunctionTemplate_1 = __webpack_require__(88); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var NodeAppender_1 = __webpack_require__(3); +var NoCustomNodesPreset_1 = __webpack_require__(10); +var SelfDefendingTemplate_1 = __webpack_require__(97); +var StringArrayRotateFunctionTemplate_1 = __webpack_require__(98); +var AbstractCustomNode_1 = __webpack_require__(2); +var JavaScriptObfuscator_1 = __webpack_require__(7); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var StringArrayRotateFunctionNode = function (_AbstractCustomNode_) { @@ -2745,14 +3013,14 @@ var StringArrayRotateFunctionNode = function (_AbstractCustomNode_) { timesName = Utils_1.Utils.getRandomVariableName(), whileFunctionName = Utils_1.Utils.getRandomVariableName(); if (this.options.selfDefending) { - code = SelfDefendingTemplate_1.SelfDefendingTemplate().formatUnicorn({ + code = format(SelfDefendingTemplate_1.SelfDefendingTemplate(), { timesName: timesName, whileFunctionName: whileFunctionName }); } else { code = whileFunctionName + '(++' + timesName + ')'; } - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(StringArrayRotateFunctionTemplate_1.StringArrayRotateFunctionTemplate().formatUnicorn({ + return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(format(StringArrayRotateFunctionTemplate_1.StringArrayRotateFunctionTemplate(), { code: code, timesName: timesName, stringArrayName: this.stringArrayName, @@ -2768,7 +3036,7 @@ var StringArrayRotateFunctionNode = function (_AbstractCustomNode_) { exports.StringArrayRotateFunctionNode = StringArrayRotateFunctionNode; /***/ }, -/* 45 */ +/* 50 */ /***/ function(module, exports) { "use strict"; @@ -2786,7 +3054,7 @@ var AbstractNodeControlFlowChanger = function AbstractNodeControlFlowChanger(nod exports.AbstractNodeControlFlowChanger = AbstractNodeControlFlowChanger; /***/ }, -/* 46 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2800,14 +3068,14 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); -var AbstractNodeControlFlowChanger_1 = __webpack_require__(45); -var BinaryExpressionControlFlowReplacer_1 = __webpack_require__(48); +var AbstractNodeControlFlowChanger_1 = __webpack_require__(50); +var BinaryExpressionControlFlowReplacer_1 = __webpack_require__(53); var ControlFlowStorage_1 = __webpack_require__(27); -var ControlFlowStorageNode_1 = __webpack_require__(36); -var Node_1 = __webpack_require__(2); -var NodeAppender_1 = __webpack_require__(3); +var ControlFlowStorageNode_1 = __webpack_require__(41); +var Node_1 = __webpack_require__(3); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var FunctionControlFlowChanger = function (_AbstractNodeControlF) { @@ -2859,7 +3127,7 @@ FunctionControlFlowChanger.controlFlowReplacers = new Map([[NodeType_1.NodeType. exports.FunctionControlFlowChanger = FunctionControlFlowChanger; /***/ }, -/* 47 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2883,7 +3151,7 @@ var AbstractControlFlowReplacer = function () { key: 'getStorageKey', value: function getStorageKey() { return Utils_1.Utils.getRandomGenerator().string({ - length: 3, + length: 4, pool: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' }); } @@ -2895,7 +3163,7 @@ var AbstractControlFlowReplacer = function () { exports.AbstractControlFlowReplacer = AbstractControlFlowReplacer; /***/ }, -/* 48 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2909,14 +3177,14 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(14); -var AbstractControlFlowReplacer_1 = __webpack_require__(47); -var BinaryExpressionSumFunctionNode_1 = __webpack_require__(35); -var BinaryExpressionSubtractFunctionNode_1 = __webpack_require__(103); -var BinaryExpressionMultiplyFunctionNode_1 = __webpack_require__(102); -var BinaryExpressionDivideFunctionNode_1 = __webpack_require__(100); -var BinaryExpressionExponentiationFunctionNode_1 = __webpack_require__(101); -var ControlFlowStorageCallNode_1 = __webpack_require__(98); +var escodegen = __webpack_require__(11); +var AbstractControlFlowReplacer_1 = __webpack_require__(52); +var BinaryExpressionSumFunctionNode_1 = __webpack_require__(39); +var BinaryExpressionSubtractFunctionNode_1 = __webpack_require__(38); +var BinaryExpressionMultiplyFunctionNode_1 = __webpack_require__(37); +var BinaryExpressionDivideFunctionNode_1 = __webpack_require__(35); +var BinaryExpressionExponentiationFunctionNode_1 = __webpack_require__(36); +var ControlFlowStorageCallNode_1 = __webpack_require__(40); var BinaryExpressionControlFlowReplacer = function (_AbstractControlFlowR) { _inherits(BinaryExpressionControlFlowReplacer, _AbstractControlFlowR); @@ -2969,7 +3237,7 @@ var BinaryExpressionControlFlowReplacer = function (_AbstractControlFlowR) { exports.BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer; /***/ }, -/* 49 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2984,9 +3252,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ConsoleOutputDisableExpressionNode_1 = __webpack_require__(34); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); -var AbstractNodesGroup_1 = __webpack_require__(11); -var NodeAppender_1 = __webpack_require__(3); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(16); +var AbstractNodesGroup_1 = __webpack_require__(12); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var ConsoleOutputNodesGroup = function (_AbstractNodesGroup_) { @@ -3016,7 +3284,7 @@ var ConsoleOutputNodesGroup = function (_AbstractNodesGroup_) { exports.ConsoleOutputNodesGroup = ConsoleOutputNodesGroup; /***/ }, -/* 50 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3030,10 +3298,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var DebugProtectionFunctionCallNode_1 = __webpack_require__(37); -var DebugProtectionFunctionIntervalNode_1 = __webpack_require__(38); -var DebugProtectionFunctionNode_1 = __webpack_require__(39); -var AbstractNodesGroup_1 = __webpack_require__(11); +var DebugProtectionFunctionCallNode_1 = __webpack_require__(42); +var DebugProtectionFunctionIntervalNode_1 = __webpack_require__(43); +var DebugProtectionFunctionNode_1 = __webpack_require__(44); +var AbstractNodesGroup_1 = __webpack_require__(12); var Utils_1 = __webpack_require__(0); var DebugProtectionNodesGroup = function (_AbstractNodesGroup_) { @@ -3066,7 +3334,7 @@ var DebugProtectionNodesGroup = function (_AbstractNodesGroup_) { exports.DebugProtectionNodesGroup = DebugProtectionNodesGroup; /***/ }, -/* 51 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3080,10 +3348,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var DomainLockNode_1 = __webpack_require__(40); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); -var AbstractNodesGroup_1 = __webpack_require__(11); -var NodeAppender_1 = __webpack_require__(3); +var DomainLockNode_1 = __webpack_require__(45); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(16); +var AbstractNodesGroup_1 = __webpack_require__(12); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var DomainLockNodesGroup = function (_AbstractNodesGroup_) { @@ -3113,7 +3381,7 @@ var DomainLockNodesGroup = function (_AbstractNodesGroup_) { exports.DomainLockNodesGroup = DomainLockNodesGroup; /***/ }, -/* 52 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3128,10 +3396,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var AppendState_1 = __webpack_require__(1); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); -var SelfDefendingUnicodeNode_1 = __webpack_require__(41); -var AbstractNodesGroup_1 = __webpack_require__(11); -var NodeAppender_1 = __webpack_require__(3); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(16); +var SelfDefendingUnicodeNode_1 = __webpack_require__(46); +var AbstractNodesGroup_1 = __webpack_require__(12); +var NodeAppender_1 = __webpack_require__(4); var Utils_1 = __webpack_require__(0); var SelfDefendingNodesGroup = function (_AbstractNodesGroup_) { @@ -3164,7 +3432,7 @@ var SelfDefendingNodesGroup = function (_AbstractNodesGroup_) { exports.SelfDefendingNodesGroup = SelfDefendingNodesGroup; /***/ }, -/* 53 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3179,10 +3447,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var AppendState_1 = __webpack_require__(1); -var StringArrayCallsWrapper_1 = __webpack_require__(42); -var StringArrayNode_1 = __webpack_require__(43); -var StringArrayRotateFunctionNode_1 = __webpack_require__(44); -var AbstractNodesGroup_1 = __webpack_require__(11); +var StringArrayCallsWrapper_1 = __webpack_require__(47); +var StringArrayNode_1 = __webpack_require__(48); +var StringArrayRotateFunctionNode_1 = __webpack_require__(49); +var AbstractNodesGroup_1 = __webpack_require__(12); var StringArray_1 = __webpack_require__(31); var Utils_1 = __webpack_require__(0); @@ -3230,7 +3498,7 @@ var StringArrayNodesGroup = function (_AbstractNodesGroup_) { exports.StringArrayNodesGroup = StringArrayNodesGroup; /***/ }, -/* 54 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3244,12 +3512,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(12); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var IdentifierReplacer_1 = __webpack_require__(13); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var CatchClauseObfuscator = function (_AbstractNodeObfuscat) { _inherits(CatchClauseObfuscator, _AbstractNodeObfuscat); @@ -3301,7 +3569,7 @@ var CatchClauseObfuscator = function (_AbstractNodeObfuscat) { exports.CatchClauseObfuscator = CatchClauseObfuscator; /***/ }, -/* 55 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3315,12 +3583,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(12); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var IdentifierReplacer_1 = __webpack_require__(13); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var FunctionDeclarationObfuscator = function (_AbstractNodeObfuscat) { _inherits(FunctionDeclarationObfuscator, _AbstractNodeObfuscat); @@ -3376,7 +3644,7 @@ var FunctionDeclarationObfuscator = function (_AbstractNodeObfuscat) { exports.FunctionDeclarationObfuscator = FunctionDeclarationObfuscator; /***/ }, -/* 56 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3390,12 +3658,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(12); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var IdentifierReplacer_1 = __webpack_require__(13); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var FunctionObfuscator = function (_AbstractNodeObfuscat) { _inherits(FunctionObfuscator, _AbstractNodeObfuscat); @@ -3457,7 +3725,7 @@ var FunctionObfuscator = function (_AbstractNodeObfuscat) { exports.FunctionObfuscator = FunctionObfuscator; /***/ }, -/* 57 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3471,12 +3739,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(12); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var IdentifierReplacer_1 = __webpack_require__(13); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var LabeledStatementObfuscator = function (_AbstractNodeObfuscat) { _inherits(LabeledStatementObfuscator, _AbstractNodeObfuscat); @@ -3528,7 +3796,7 @@ var LabeledStatementObfuscator = function (_AbstractNodeObfuscat) { exports.LabeledStatementObfuscator = LabeledStatementObfuscator; /***/ }, -/* 58 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3544,12 +3812,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(14); +var escodegen = __webpack_require__(11); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var BooleanLiteralReplacer_1 = __webpack_require__(63); -var Node_1 = __webpack_require__(2); -var NumberLiteralReplacer_1 = __webpack_require__(22); -var StringLiteralReplacer_1 = __webpack_require__(19); +var BooleanLiteralReplacer_1 = __webpack_require__(68); +var Node_1 = __webpack_require__(3); +var NumberLiteralReplacer_1 = __webpack_require__(21); +var StringLiteralReplacer_1 = __webpack_require__(18); var LiteralObfuscator = function (_AbstractNodeObfuscat) { _inherits(LiteralObfuscator, _AbstractNodeObfuscat); @@ -3593,7 +3861,7 @@ var LiteralObfuscator = function (_AbstractNodeObfuscat) { exports.LiteralObfuscator = LiteralObfuscator; /***/ }, -/* 59 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3607,12 +3875,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(14); -var estraverse = __webpack_require__(4); +var escodegen = __webpack_require__(11); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var Node_1 = __webpack_require__(2); -var StringLiteralReplacer_1 = __webpack_require__(19); +var Node_1 = __webpack_require__(3); +var StringLiteralReplacer_1 = __webpack_require__(18); var MemberExpressionObfuscator = function (_AbstractNodeObfuscat) { _inherits(MemberExpressionObfuscator, _AbstractNodeObfuscat); @@ -3678,7 +3946,7 @@ var MemberExpressionObfuscator = function (_AbstractNodeObfuscat) { exports.MemberExpressionObfuscator = MemberExpressionObfuscator; /***/ }, -/* 60 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3692,11 +3960,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var Node_1 = __webpack_require__(2); +var Node_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); -var StringLiteralReplacer_1 = __webpack_require__(19); +var StringLiteralReplacer_1 = __webpack_require__(18); var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) { _inherits(MethodDefinitionObfuscator, _AbstractNodeObfuscat); @@ -3737,7 +4005,7 @@ MethodDefinitionObfuscator.ignoredNames = ['constructor']; exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator; /***/ }, -/* 61 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3751,11 +4019,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(14); -var estraverse = __webpack_require__(4); +var escodegen = __webpack_require__(11); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var Node_1 = __webpack_require__(2); +var Node_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); var ObjectExpressionObfuscator = function (_AbstractNodeObfuscat) { @@ -3823,7 +4091,7 @@ var ObjectExpressionObfuscator = function (_AbstractNodeObfuscat) { exports.ObjectExpressionObfuscator = ObjectExpressionObfuscator; /***/ }, -/* 62 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3837,12 +4105,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); var AbstractNodeObfuscator_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(12); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var IdentifierReplacer_1 = __webpack_require__(13); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var VariableDeclarationObfuscator = function (_AbstractNodeObfuscat) { _inherits(VariableDeclarationObfuscator, _AbstractNodeObfuscat); @@ -3901,7 +4169,7 @@ var VariableDeclarationObfuscator = function (_AbstractNodeObfuscat) { exports.VariableDeclarationObfuscator = VariableDeclarationObfuscator; /***/ }, -/* 63 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3915,8 +4183,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var JSFuck_1 = __webpack_require__(21); -var AbstractReplacer_1 = __webpack_require__(16); +var JSFuck_1 = __webpack_require__(20); +var AbstractReplacer_1 = __webpack_require__(15); var BooleanLiteralReplacer = function (_AbstractReplacer_1$A) { _inherits(BooleanLiteralReplacer, _AbstractReplacer_1$A); @@ -3940,7 +4208,7 @@ var BooleanLiteralReplacer = function (_AbstractReplacer_1$A) { exports.BooleanLiteralReplacer = BooleanLiteralReplacer; /***/ }, -/* 64 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3961,12 +4229,12 @@ var __decorate = undefined && undefined.__decorate || function (decorators, targ var __metadata = undefined && undefined.__metadata || function (k, v) { if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; -var class_validator_1 = __webpack_require__(92); -var TSourceMapMode_1 = __webpack_require__(89); -var TStringArrayEncoding_1 = __webpack_require__(90); -var DefaultPreset_1 = __webpack_require__(23); -var OptionsNormalizer_1 = __webpack_require__(65); -var ValidationErrorsFormatter_1 = __webpack_require__(66); +var class_validator_1 = __webpack_require__(102); +var TSourceMapMode_1 = __webpack_require__(99); +var TStringArrayEncoding_1 = __webpack_require__(100); +var DefaultPreset_1 = __webpack_require__(22); +var OptionsNormalizer_1 = __webpack_require__(70); +var ValidationErrorsFormatter_1 = __webpack_require__(71); var Options = function Options(obfuscatorOptions) { _classCallCheck(this, Options); @@ -4014,7 +4282,7 @@ exports.Options = Options; var _a, _b; /***/ }, -/* 65 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4181,7 +4449,7 @@ OptionsNormalizer.normalizerRules = [OptionsNormalizer.domainLockRule, OptionsNo exports.OptionsNormalizer = OptionsNormalizer; /***/ }, -/* 66 */ +/* 71 */ /***/ function(module, exports) { "use strict"; @@ -4248,7 +4516,7 @@ var ValidationErrorsFormatter = function () { exports.ValidationErrorsFormatter = ValidationErrorsFormatter; /***/ }, -/* 67 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4258,13 +4526,13 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var estraverse = __webpack_require__(4); +var estraverse = __webpack_require__(5); var NodeType_1 = __webpack_require__(6); -var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(68); -var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(69); -var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(70); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(73); +var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(74); +var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(75); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var StackTraceAnalyzer = function () { function StackTraceAnalyzer(blockScopeBody) { @@ -4341,7 +4609,7 @@ StackTraceAnalyzer.limitThreshold = 0.002; exports.StackTraceAnalyzer = StackTraceAnalyzer; /***/ }, -/* 68 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4351,9 +4619,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var estraverse = __webpack_require__(4); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var estraverse = __webpack_require__(5); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var FunctionDeclarationCalleeDataExtractor = function () { function FunctionDeclarationCalleeDataExtractor(blockScopeBody, callee) { @@ -4400,7 +4668,7 @@ var FunctionDeclarationCalleeDataExtractor = function () { exports.FunctionDeclarationCalleeDataExtractor = FunctionDeclarationCalleeDataExtractor; /***/ }, -/* 69 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4410,9 +4678,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var estraverse = __webpack_require__(4); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var estraverse = __webpack_require__(5); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var FunctionExpressionCalleeDataExtractor = function () { function FunctionExpressionCalleeDataExtractor(blockScopeBody, callee) { @@ -4462,7 +4730,7 @@ var FunctionExpressionCalleeDataExtractor = function () { exports.FunctionExpressionCalleeDataExtractor = FunctionExpressionCalleeDataExtractor; /***/ }, -/* 70 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4472,9 +4740,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var estraverse = __webpack_require__(4); -var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(7); +var estraverse = __webpack_require__(5); +var Node_1 = __webpack_require__(3); +var NodeUtils_1 = __webpack_require__(8); var ObjectExpressionCalleeDataExtractor = function () { function ObjectExpressionCalleeDataExtractor(blockScopeBody, callee) { @@ -4594,7 +4862,7 @@ var ObjectExpressionCalleeDataExtractor = function () { exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor; /***/ }, -/* 71 */ +/* 76 */ /***/ function(module, exports) { "use strict"; @@ -4606,7 +4874,7 @@ function AtobTemplate() { exports.AtobTemplate = AtobTemplate; /***/ }, -/* 72 */ +/* 77 */ /***/ function(module, exports) { "use strict"; @@ -4618,7 +4886,7 @@ function Rc4Template() { exports.Rc4Template = Rc4Template; /***/ }, -/* 73 */ +/* 78 */ /***/ function(module, exports) { "use strict"; @@ -4630,7 +4898,7 @@ function SingleNodeCallControllerTemplate() { exports.SingleNodeCallControllerTemplate = SingleNodeCallControllerTemplate; /***/ }, -/* 74 */ +/* 79 */ /***/ function(module, exports) { "use strict"; @@ -4642,7 +4910,55 @@ function ConsoleOutputDisableExpressionTemplate() { exports.ConsoleOutputDisableExpressionTemplate = ConsoleOutputDisableExpressionTemplate; /***/ }, -/* 75 */ +/* 80 */ +/***/ function(module, exports) { + +"use strict"; +"use strict"; + +function BinaryExpressionDivideFunctionTemplate() { + return "\n function {functionName} (x, y) {\n return x / y;\n }\n "; +} +exports.BinaryExpressionDivideFunctionTemplate = BinaryExpressionDivideFunctionTemplate; + +/***/ }, +/* 81 */ +/***/ function(module, exports) { + +"use strict"; +"use strict"; + +function BinaryExpressionExponentiationFunctionTemplate() { + return "\n function {functionName} (x, y) {\n return Math.pow(x, y);\n }\n "; +} +exports.BinaryExpressionExponentiationFunctionTemplate = BinaryExpressionExponentiationFunctionTemplate; + +/***/ }, +/* 82 */ +/***/ function(module, exports) { + +"use strict"; +"use strict"; + +function BinaryExpressionMultiplyFunctionTemplate() { + return "\n function {functionName} (x, y) {\n return x * y;\n }\n "; +} +exports.BinaryExpressionMultiplyFunctionTemplate = BinaryExpressionMultiplyFunctionTemplate; + +/***/ }, +/* 83 */ +/***/ function(module, exports) { + +"use strict"; +"use strict"; + +function BinaryExpressionSubtractFunctionTemplate() { + return "\n function {functionName} (x, y) {\n return x - y;\n }\n "; +} +exports.BinaryExpressionSubtractFunctionTemplate = BinaryExpressionSubtractFunctionTemplate; + +/***/ }, +/* 84 */ /***/ function(module, exports) { "use strict"; @@ -4654,7 +4970,19 @@ function BinaryExpressionSumFunctionTemplate() { exports.BinaryExpressionSumFunctionTemplate = BinaryExpressionSumFunctionTemplate; /***/ }, -/* 76 */ +/* 85 */ +/***/ function(module, exports) { + +"use strict"; +"use strict"; + +function ControlFlowStorageCallTemplate() { + return '{controlFlowStorageName}.{controlFlowStorageKey}({leftValue}, {rightValue})'; +} +exports.ControlFlowStorageCallTemplate = ControlFlowStorageCallTemplate; + +/***/ }, +/* 86 */ /***/ function(module, exports) { "use strict"; @@ -4666,7 +4994,7 @@ function ControlFlowStorageTemplate() { exports.ControlFlowStorageTemplate = ControlFlowStorageTemplate; /***/ }, -/* 77 */ +/* 87 */ /***/ function(module, exports) { "use strict"; @@ -4678,7 +5006,7 @@ function DebugProtectionFunctionCallTemplate() { exports.DebugProtectionFunctionCallTemplate = DebugProtectionFunctionCallTemplate; /***/ }, -/* 78 */ +/* 88 */ /***/ function(module, exports) { "use strict"; @@ -4690,7 +5018,7 @@ function DebugProtectionFunctionIntervalTemplate() { exports.DebugProtectionFunctionIntervalTemplate = DebugProtectionFunctionIntervalTemplate; /***/ }, -/* 79 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4703,7 +5031,7 @@ function DebugProtectionFunctionTemplate() { exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate; /***/ }, -/* 80 */ +/* 90 */ /***/ function(module, exports) { "use strict"; @@ -4715,7 +5043,7 @@ function DomainLockNodeTemplate() { exports.DomainLockNodeTemplate = DomainLockNodeTemplate; /***/ }, -/* 81 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4728,7 +5056,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 82 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4741,7 +5069,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 83 */ +/* 93 */ /***/ function(module, exports) { "use strict"; @@ -4753,7 +5081,7 @@ function StringArrayBase64DecodeNodeTemplate() { exports.StringArrayBase64DecodeNodeTemplate = StringArrayBase64DecodeNodeTemplate; /***/ }, -/* 84 */ +/* 94 */ /***/ function(module, exports) { "use strict"; @@ -4765,7 +5093,7 @@ function StringArrayCallsWrapperTemplate() { exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate; /***/ }, -/* 85 */ +/* 95 */ /***/ function(module, exports) { "use strict"; @@ -4777,7 +5105,7 @@ function StringArrayRc4DecodeNodeTemplate() { exports.StringArrayRc4DecodeNodeTemplate = StringArrayRc4DecodeNodeTemplate; /***/ }, -/* 86 */ +/* 96 */ /***/ function(module, exports) { "use strict"; @@ -4789,7 +5117,7 @@ function StringArrayTemplate() { exports.StringArrayTemplate = StringArrayTemplate; /***/ }, -/* 87 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4802,7 +5130,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 88 */ +/* 98 */ /***/ function(module, exports) { "use strict"; @@ -4813,123 +5141,6 @@ function StringArrayRotateFunctionTemplate() { } exports.StringArrayRotateFunctionTemplate = StringArrayRotateFunctionTemplate; -/***/ }, -/* 89 */ -/***/ function(module, exports) { - -"use strict"; -"use strict"; - -/***/ }, -/* 90 */ -/***/ function(module, exports) { - -"use strict"; -"use strict"; - -/***/ }, -/* 91 */ -/***/ function(module, exports) { - -module.exports = require("chance"); - -/***/ }, -/* 92 */ -/***/ function(module, exports) { - -module.exports = require("class-validator"); - -/***/ }, -/* 93 */ -/***/ function(module, exports) { - -module.exports = require("commander"); - -/***/ }, -/* 94 */ -/***/ function(module, exports) { - -module.exports = require("fs"); - -/***/ }, -/* 95 */ -/***/ function(module, exports) { - -module.exports = require("mkdirp"); - -/***/ }, -/* 96 */, -/* 97 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var JavaScriptObfuscator_1 = __webpack_require__(10); -if (!global._babelPolyfill) { - __webpack_require__(26); -} -module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator; - -/***/ }, -/* 98 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -__webpack_require__(8); -var AppendState_1 = __webpack_require__(1); -var ControlFlowStorageCallTemplate_1 = __webpack_require__(99); -var AbstractCustomNode_1 = __webpack_require__(5); -var NodeAppender_1 = __webpack_require__(3); - -var ControlFlowStorageCallNode = function (_AbstractCustomNode_) { - _inherits(ControlFlowStorageCallNode, _AbstractCustomNode_); - - function ControlFlowStorageCallNode(controlFlowStorageName, controlFlowStorageKey, leftValue, rightValue, options) { - _classCallCheck(this, ControlFlowStorageCallNode); - - var _this = _possibleConstructorReturn(this, (ControlFlowStorageCallNode.__proto__ || Object.getPrototypeOf(ControlFlowStorageCallNode)).call(this, options)); - - _this.appendState = AppendState_1.AppendState.AfterObfuscation; - _this.controlFlowStorageName = controlFlowStorageName; - _this.controlFlowStorageKey = controlFlowStorageKey; - _this.leftValue = leftValue; - _this.rightValue = rightValue; - return _this; - } - - _createClass(ControlFlowStorageCallNode, [{ - key: 'appendNode', - value: function appendNode(blockScopeNode) { - NodeAppender_1.NodeAppender.prependNode(blockScopeNode, this.getNode()); - } - }, { - key: 'getCode', - value: function getCode() { - return ControlFlowStorageCallTemplate_1.ControlFlowStorageCallTemplate().formatUnicorn({ - controlFlowStorageKey: this.controlFlowStorageKey, - controlFlowStorageName: this.controlFlowStorageName, - leftValue: this.leftValue, - rightValue: this.rightValue - }); - } - }]); - - return ControlFlowStorageCallNode; -}(AbstractCustomNode_1.AbstractCustomNode); - -exports.ControlFlowStorageCallNode = ControlFlowStorageCallNode; - /***/ }, /* 99 */ /***/ function(module, exports) { @@ -4937,266 +5148,56 @@ exports.ControlFlowStorageCallNode = ControlFlowStorageCallNode; "use strict"; "use strict"; -function ControlFlowStorageCallTemplate() { - return '{controlFlowStorageName}.{controlFlowStorageKey}({leftValue}, {rightValue})'; -} -exports.ControlFlowStorageCallTemplate = ControlFlowStorageCallTemplate; - /***/ }, /* 100 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports) { "use strict"; "use strict"; -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -__webpack_require__(8); -var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var BinaryExpressionDivideFunctionTemplate_1 = __webpack_require__(104); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var Utils_1 = __webpack_require__(0); - -var BinaryExpressionDivideFunctionNode = function (_AbstractCustomNode_) { - _inherits(BinaryExpressionDivideFunctionNode, _AbstractCustomNode_); - - function BinaryExpressionDivideFunctionNode() { - _classCallCheck(this, BinaryExpressionDivideFunctionNode); - - var _this = _possibleConstructorReturn(this, (BinaryExpressionDivideFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionDivideFunctionNode)).apply(this, arguments)); - - _this.appendState = AppendState_1.AppendState.BeforeObfuscation; - return _this; - } - - _createClass(BinaryExpressionDivideFunctionNode, [{ - key: 'appendNode', - value: function appendNode(blockScopeNode) {} - }, { - key: 'getCode', - value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(BinaryExpressionDivideFunctionTemplate_1.BinaryExpressionDivideFunctionTemplate().formatUnicorn({ - functionName: Utils_1.Utils.getRandomVariableName() - }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); - } - }]); - - return BinaryExpressionDivideFunctionNode; -}(AbstractCustomNode_1.AbstractCustomNode); - -exports.BinaryExpressionDivideFunctionNode = BinaryExpressionDivideFunctionNode; - /***/ }, /* 101 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports) { -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -__webpack_require__(8); -var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var BinaryExpressionExponentitionFunctionTemplate_1 = __webpack_require__(105); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var Utils_1 = __webpack_require__(0); - -var BinaryExpressionExponentiationFunctionNode = function (_AbstractCustomNode_) { - _inherits(BinaryExpressionExponentiationFunctionNode, _AbstractCustomNode_); - - function BinaryExpressionExponentiationFunctionNode() { - _classCallCheck(this, BinaryExpressionExponentiationFunctionNode); - - var _this = _possibleConstructorReturn(this, (BinaryExpressionExponentiationFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionExponentiationFunctionNode)).apply(this, arguments)); - - _this.appendState = AppendState_1.AppendState.BeforeObfuscation; - return _this; - } - - _createClass(BinaryExpressionExponentiationFunctionNode, [{ - key: 'appendNode', - value: function appendNode(blockScopeNode) {} - }, { - key: 'getCode', - value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(BinaryExpressionExponentitionFunctionTemplate_1.BinaryExpressionExponentiationFunctionTemplate().formatUnicorn({ - functionName: Utils_1.Utils.getRandomVariableName() - }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); - } - }]); - - return BinaryExpressionExponentiationFunctionNode; -}(AbstractCustomNode_1.AbstractCustomNode); - -exports.BinaryExpressionExponentiationFunctionNode = BinaryExpressionExponentiationFunctionNode; +module.exports = require("chance"); /***/ }, /* 102 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports) { -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -__webpack_require__(8); -var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var BinaryExpressionMultiplyFunctionTemplate_1 = __webpack_require__(106); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var Utils_1 = __webpack_require__(0); - -var BinaryExpressionMultiplyFunctionNode = function (_AbstractCustomNode_) { - _inherits(BinaryExpressionMultiplyFunctionNode, _AbstractCustomNode_); - - function BinaryExpressionMultiplyFunctionNode() { - _classCallCheck(this, BinaryExpressionMultiplyFunctionNode); - - var _this = _possibleConstructorReturn(this, (BinaryExpressionMultiplyFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionMultiplyFunctionNode)).apply(this, arguments)); - - _this.appendState = AppendState_1.AppendState.BeforeObfuscation; - return _this; - } - - _createClass(BinaryExpressionMultiplyFunctionNode, [{ - key: 'appendNode', - value: function appendNode(blockScopeNode) {} - }, { - key: 'getCode', - value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(BinaryExpressionMultiplyFunctionTemplate_1.BinaryExpressionMultiplyFunctionTemplate().formatUnicorn({ - functionName: Utils_1.Utils.getRandomVariableName() - }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); - } - }]); - - return BinaryExpressionMultiplyFunctionNode; -}(AbstractCustomNode_1.AbstractCustomNode); - -exports.BinaryExpressionMultiplyFunctionNode = BinaryExpressionMultiplyFunctionNode; +module.exports = require("class-validator"); /***/ }, /* 103 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports) { -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -__webpack_require__(8); -var AppendState_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(13); -var BinaryExpressionSubtractFunctionTemplate_1 = __webpack_require__(107); -var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(10); -var Utils_1 = __webpack_require__(0); - -var BinaryExpressionSubtractFunctionNode = function (_AbstractCustomNode_) { - _inherits(BinaryExpressionSubtractFunctionNode, _AbstractCustomNode_); - - function BinaryExpressionSubtractFunctionNode() { - _classCallCheck(this, BinaryExpressionSubtractFunctionNode); - - var _this = _possibleConstructorReturn(this, (BinaryExpressionSubtractFunctionNode.__proto__ || Object.getPrototypeOf(BinaryExpressionSubtractFunctionNode)).apply(this, arguments)); - - _this.appendState = AppendState_1.AppendState.BeforeObfuscation; - return _this; - } - - _createClass(BinaryExpressionSubtractFunctionNode, [{ - key: 'appendNode', - value: function appendNode(blockScopeNode) {} - }, { - key: 'getCode', - value: function getCode() { - return JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(BinaryExpressionSubtractFunctionTemplate_1.BinaryExpressionSubtractFunctionTemplate().formatUnicorn({ - functionName: Utils_1.Utils.getRandomVariableName() - }), NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET).getObfuscatedCode(); - } - }]); - - return BinaryExpressionSubtractFunctionNode; -}(AbstractCustomNode_1.AbstractCustomNode); - -exports.BinaryExpressionSubtractFunctionNode = BinaryExpressionSubtractFunctionNode; +module.exports = require("commander"); /***/ }, /* 104 */ /***/ function(module, exports) { -"use strict"; -"use strict"; - -function BinaryExpressionDivideFunctionTemplate() { - return "\n function {functionName} (x, y) {\n return x / y;\n }\n "; -} -exports.BinaryExpressionDivideFunctionTemplate = BinaryExpressionDivideFunctionTemplate; +module.exports = require("fs"); /***/ }, /* 105 */ /***/ function(module, exports) { -"use strict"; -"use strict"; - -function BinaryExpressionExponentiationFunctionTemplate() { - return "\n function {functionName} (x, y) {\n return Math.pow(x, y);\n }\n "; -} -exports.BinaryExpressionExponentiationFunctionTemplate = BinaryExpressionExponentiationFunctionTemplate; - -/***/ }, -/* 106 */ -/***/ function(module, exports) { - -"use strict"; -"use strict"; - -function BinaryExpressionMultiplyFunctionTemplate() { - return "\n function {functionName} (x, y) {\n return x * y;\n }\n "; -} -exports.BinaryExpressionMultiplyFunctionTemplate = BinaryExpressionMultiplyFunctionTemplate; +module.exports = require("mkdirp"); /***/ }, +/* 106 */, /* 107 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -function BinaryExpressionSubtractFunctionTemplate() { - return "\n function {functionName} (x, y) {\n return x - y;\n }\n "; +var JavaScriptObfuscator_1 = __webpack_require__(7); +if (!global._babelPolyfill) { + __webpack_require__(26); } -exports.BinaryExpressionSubtractFunctionTemplate = BinaryExpressionSubtractFunctionTemplate; +module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator; /***/ } /******/ ]); diff --git a/package.json b/package.json index 09a4eeeb..5c07b96a 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,9 @@ "escodegen": "1.8.1", "esprima": "3.1.1", "estraverse": "4.2.0", - "format-unicorn": "1.1.0", "mkdirp": "0.5.1", - "source-map-support": "0.4.6" + "source-map-support": "0.4.6", + "string-template": "^1.0.0" }, "devDependencies": { "@types/chai": "3.4.34", @@ -39,12 +39,12 @@ "@types/esprima": "2.1.33", "@types/estraverse": "0.0.6", "@types/estree": "0.0.34", - "@types/format-unicorn": "0.0.29", "@types/joi": "9.0.33", "@types/mkdirp": "0.3.29", "@types/mocha": "2.2.33", "@types/node": "6.0.47", "@types/sinon": "1.16.31", + "@types/string-template": "^1.0.2", "awesome-typescript-loader": "2.2.4", "babel-cli": "6.18.0", "babel-loader": "6.2.7", diff --git a/src/cli/JavaScriptObfuscatorCLI.ts b/src/cli/JavaScriptObfuscatorCLI.ts index 6776daba..c46a308a 100644 --- a/src/cli/JavaScriptObfuscatorCLI.ts +++ b/src/cli/JavaScriptObfuscatorCLI.ts @@ -145,6 +145,7 @@ export class JavaScriptObfuscatorCLI { .usage(' [options]') .option('-o, --output ', 'Output path for obfuscated code') .option('--compact ', 'Disable one line output code compacting', JavaScriptObfuscatorCLI.parseBoolean) + .option('--controlFlow ', 'Enables control flow change', JavaScriptObfuscatorCLI.parseBoolean) .option('--debugProtection ', 'Disable browser Debug panel (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean) .option('--debugProtectionInterval ', 'Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean) .option('--disableConsoleOutput ', 'Allow console.log, console.info, console.error and console.warn messages output into browser console', JavaScriptObfuscatorCLI.parseBoolean) diff --git a/src/custom-nodes/console-output-nodes/ConsoleOutputDisableExpressionNode.ts b/src/custom-nodes/console-output-nodes/ConsoleOutputDisableExpressionNode.ts index 3691bbb3..2ebe9eee 100644 --- a/src/custom-nodes/console-output-nodes/ConsoleOutputDisableExpressionNode.ts +++ b/src/custom-nodes/console-output-nodes/ConsoleOutputDisableExpressionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -69,7 +69,7 @@ export class ConsoleOutputDisableExpressionNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return ConsoleOutputDisableExpressionTemplate().formatUnicorn({ + return format(ConsoleOutputDisableExpressionTemplate(), { consoleLogDisableFunctionName: Utils.getRandomVariableName(), singleNodeCallControllerFunctionName: this.callsControllerFunctionName }); diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionDivideFunctionNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionDivideFunctionNode.ts index 1ed7e7d5..641ecc92 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionDivideFunctionNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionDivideFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -30,7 +30,7 @@ export class BinaryExpressionDivideFunctionNode extends AbstractCustomNode { */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - BinaryExpressionDivideFunctionTemplate().formatUnicorn({ + format(BinaryExpressionDivideFunctionTemplate(), { functionName: Utils.getRandomVariableName() }), NO_CUSTOM_NODES_PRESET diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionExponentiationFunctionNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionExponentiationFunctionNode.ts index 1bb6fb8d..d66a5430 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionExponentiationFunctionNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionExponentiationFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -30,7 +30,7 @@ export class BinaryExpressionExponentiationFunctionNode extends AbstractCustomNo */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - BinaryExpressionExponentiationFunctionTemplate().formatUnicorn({ + format(BinaryExpressionExponentiationFunctionTemplate(), { functionName: Utils.getRandomVariableName() }), NO_CUSTOM_NODES_PRESET diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionMultiplyFunctionNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionMultiplyFunctionNode.ts index 98078d7a..d8eb3b4d 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionMultiplyFunctionNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionMultiplyFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -30,7 +30,7 @@ export class BinaryExpressionMultiplyFunctionNode extends AbstractCustomNode { */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - BinaryExpressionMultiplyFunctionTemplate().formatUnicorn({ + format(BinaryExpressionMultiplyFunctionTemplate(), { functionName: Utils.getRandomVariableName() }), NO_CUSTOM_NODES_PRESET diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSubtractFunctionNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSubtractFunctionNode.ts index e36ba136..bc42f14a 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSubtractFunctionNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSubtractFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -30,7 +30,7 @@ export class BinaryExpressionSubtractFunctionNode extends AbstractCustomNode { */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - BinaryExpressionSubtractFunctionTemplate().formatUnicorn({ + format(BinaryExpressionSubtractFunctionTemplate(), { functionName: Utils.getRandomVariableName() }), NO_CUSTOM_NODES_PRESET diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSumFunctionNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSumFunctionNode.ts index f9fd8ba5..94aee675 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSumFunctionNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/BinaryExpressionSumFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -30,7 +30,7 @@ export class BinaryExpressionSumFunctionNode extends AbstractCustomNode { */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - BinaryExpressionSumFunctionTemplate().formatUnicorn({ + format(BinaryExpressionSumFunctionTemplate(), { functionName: Utils.getRandomVariableName() }), NO_CUSTOM_NODES_PRESET diff --git a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/ControlFlowStorageCallNode.ts b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/ControlFlowStorageCallNode.ts index af49d7ce..274a5bf4 100644 --- a/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/ControlFlowStorageCallNode.ts +++ b/src/custom-nodes/control-flow-replacers-nodes/binary-expression-control-flow-replacer-nodes/ControlFlowStorageCallNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../../types/TNodeWithBlockStatement'; @@ -70,7 +70,7 @@ export class ControlFlowStorageCallNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return ControlFlowStorageCallTemplate().formatUnicorn({ + return format(ControlFlowStorageCallTemplate(), { controlFlowStorageKey: this.controlFlowStorageKey, controlFlowStorageName: this.controlFlowStorageName, leftValue: this.leftValue, diff --git a/src/custom-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts b/src/custom-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts index 16993bbf..400b2ba3 100644 --- a/src/custom-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts +++ b/src/custom-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -57,7 +57,7 @@ export class ControlFlowStorageNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return ControlFlowStorageTemplate().formatUnicorn({ + return format(ControlFlowStorageTemplate(), { controlFlowStorage: this.controlFlowStorage.toString(), controlFlowStorageName: this.controlFlowStorageName }); diff --git a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionCallNode.ts b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionCallNode.ts index b563033a..05806436 100644 --- a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionCallNode.ts +++ b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionCallNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -43,7 +43,7 @@ export class DebugProtectionFunctionCallNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return DebugProtectionFunctionCallTemplate().formatUnicorn({ + return format(DebugProtectionFunctionCallTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } diff --git a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionIntervalNode.ts b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionIntervalNode.ts index 237e8196..1fccffb1 100644 --- a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionIntervalNode.ts +++ b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionIntervalNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -43,7 +43,7 @@ export class DebugProtectionFunctionIntervalNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return DebugProtectionFunctionIntervalTemplate().formatUnicorn({ + return format(DebugProtectionFunctionIntervalTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } diff --git a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionNode.ts b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionNode.ts index 19ffe0b1..ba4be66a 100644 --- a/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionNode.ts +++ b/src/custom-nodes/debug-protection-nodes/DebugProtectionFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -50,7 +50,7 @@ export class DebugProtectionFunctionNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return DebugProtectionFunctionTemplate().formatUnicorn({ + return format(DebugProtectionFunctionTemplate(), { debugProtectionFunctionName: this.debugProtectionFunctionName }); } diff --git a/src/custom-nodes/domain-lock-nodes/DomainLockNode.ts b/src/custom-nodes/domain-lock-nodes/DomainLockNode.ts index d308bad3..7f2ef313 100644 --- a/src/custom-nodes/domain-lock-nodes/DomainLockNode.ts +++ b/src/custom-nodes/domain-lock-nodes/DomainLockNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -72,7 +72,7 @@ export class DomainLockNode extends AbstractCustomNode { let domainsString: string = this.options.domainLock.join(';'), [hiddenDomainsString, diff]: string[] = Utils.hideString(domainsString, domainsString.length * 3); - return DomainLockNodeTemplate().formatUnicorn({ + return format(DomainLockNodeTemplate(), { domainLockFunctionName: Utils.getRandomVariableName(), diff: diff, domains: hiddenDomainsString, diff --git a/src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts b/src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts index 664175a4..30410872 100644 --- a/src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts +++ b/src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -77,14 +77,14 @@ export class NodeCallsControllerFunctionNode extends AbstractCustomNode { public getCode (): string { if (this.appendState === AppendState.AfterObfuscation) { return JavaScriptObfuscator.obfuscate( - SingleNodeCallControllerTemplate().formatUnicorn({ + format(SingleNodeCallControllerTemplate(), { singleNodeCallControllerFunctionName: this.callsControllerFunctionName }), NO_CUSTOM_NODES_PRESET ).getObfuscatedCode(); } - return SingleNodeCallControllerTemplate().formatUnicorn({ + return format(SingleNodeCallControllerTemplate(), { singleNodeCallControllerFunctionName: this.callsControllerFunctionName }); } diff --git a/src/custom-nodes/self-defending-nodes/SelfDefendingUnicodeNode.ts b/src/custom-nodes/self-defending-nodes/SelfDefendingUnicodeNode.ts index 5968d3eb..5a19cefe 100644 --- a/src/custom-nodes/self-defending-nodes/SelfDefendingUnicodeNode.ts +++ b/src/custom-nodes/self-defending-nodes/SelfDefendingUnicodeNode.ts @@ -1,3 +1,5 @@ +import * as format from 'string-template'; + import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; import { IOptions } from '../../interfaces/IOptions'; @@ -71,7 +73,7 @@ export class SelfDefendingUnicodeNode extends AbstractCustomNode { */ public getCode (): string { return JavaScriptObfuscator.obfuscate( - SelfDefendingTemplate().formatUnicorn({ + format(SelfDefendingTemplate(), { selfDefendingFunctionName: Utils.getRandomVariableName(), singleNodeCallControllerFunctionName: this.callsControllerFunctionName }), diff --git a/src/custom-nodes/string-array-nodes/StringArrayCallsWrapper.ts b/src/custom-nodes/string-array-nodes/StringArrayCallsWrapper.ts index 2e4c42c1..0d691172 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayCallsWrapper.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayCallsWrapper.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; import { TStatement } from '../../types/TStatement'; @@ -80,7 +80,7 @@ export class StringArrayCallsWrapper extends AbstractCustomNode { const decodeNodeTemplate: string = this.getDecodeStringArrayTemplate(); return JavaScriptObfuscator.obfuscate( - StringArrayCallsWrapperTemplate().formatUnicorn({ + format(StringArrayCallsWrapperTemplate(), { decodeNodeTemplate, stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, stringArrayName: this.stringArrayName @@ -111,7 +111,7 @@ export class StringArrayCallsWrapper extends AbstractCustomNode { selfDefendingCode: string = ''; if (this.options.selfDefending) { - selfDefendingCode = SelfDefendingTemplate().formatUnicorn({ + selfDefendingCode = format(SelfDefendingTemplate(), { stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, stringArrayName: this.stringArrayName }); @@ -119,7 +119,7 @@ export class StringArrayCallsWrapper extends AbstractCustomNode { switch (this.options.stringArrayEncoding) { case StringArrayEncoding.base64: - decodeStringArrayTemplate = StringArrayBase64DecodeNodeTemplate().formatUnicorn({ + decodeStringArrayTemplate = format(StringArrayBase64DecodeNodeTemplate(), { atobPolyfill: AtobTemplate(), selfDefendingCode, stringArrayCallsWrapperName: this.stringArrayCallsWrapperName @@ -128,7 +128,7 @@ export class StringArrayCallsWrapper extends AbstractCustomNode { break; case StringArrayEncoding.rc4: - decodeStringArrayTemplate = StringArrayRc4DecodeNodeTemplate().formatUnicorn({ + decodeStringArrayTemplate = format(StringArrayRc4DecodeNodeTemplate(), { atobPolyfill: AtobTemplate(), rc4Polyfill: Rc4Template(), selfDefendingCode, diff --git a/src/custom-nodes/string-array-nodes/StringArrayNode.ts b/src/custom-nodes/string-array-nodes/StringArrayNode.ts index bd13fc89..19326655 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayNode.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; import { TStatement } from '../../types/TStatement'; @@ -74,7 +74,7 @@ export class StringArrayNode extends AbstractCustomNode { * @returns {string} */ public getCode (): string { - return StringArrayTemplate().formatUnicorn({ + return format(StringArrayTemplate(), { stringArrayName: this.stringArrayName, stringArray: this.stringArray.toString() }); diff --git a/src/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.ts b/src/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.ts index 697ca0ad..d89527a8 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement'; @@ -77,7 +77,7 @@ export class StringArrayRotateFunctionNode extends AbstractCustomNode { whileFunctionName: string = Utils.getRandomVariableName(); if (this.options.selfDefending) { - code = SelfDefendingTemplate().formatUnicorn({ + code = format(SelfDefendingTemplate(), { timesName, whileFunctionName }); @@ -86,7 +86,7 @@ export class StringArrayRotateFunctionNode extends AbstractCustomNode { } return JavaScriptObfuscator.obfuscate( - StringArrayRotateFunctionTemplate().formatUnicorn({ + format(StringArrayRotateFunctionTemplate(), { code, timesName, stringArrayName: this.stringArrayName, diff --git a/src/node-control-flow-changers/control-flow-replacers/AbstractControlFlowReplacer.ts b/src/node-control-flow-changers/control-flow-replacers/AbstractControlFlowReplacer.ts index e7752a2e..a6b952f2 100644 --- a/src/node-control-flow-changers/control-flow-replacers/AbstractControlFlowReplacer.ts +++ b/src/node-control-flow-changers/control-flow-replacers/AbstractControlFlowReplacer.ts @@ -32,7 +32,7 @@ export abstract class AbstractControlFlowReplacer implements IControlFlowReplace */ protected static getStorageKey (): string { return Utils.getRandomGenerator().string({ - length: 3, + length: 4, pool: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' }); } diff --git a/test/dev/dev.ts b/test/dev/dev.ts index 718f7c97..7fdb7af3 100644 --- a/test/dev/dev.ts +++ b/test/dev/dev.ts @@ -37,14 +37,17 @@ if (!(global)._babelPolyfill) { function t () { return function () { - return 100 * 2; + return 100 * 2 - 70; } } - var s = 100 + 50; + var n = 100 + 50; + var b = true + true; + var s = 'str' + 'ing'; + var r = /re/ + /g/; console.log(t()()); - console.log(s); + console.log(n); })(); `, Object.assign({}, NO_CUSTOM_NODES_PRESET, { diff --git a/test/functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec.ts b/test/functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec.ts index b65c8ab2..7a63ee44 100644 --- a/test/functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec.ts +++ b/test/functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { DomainLockNodeTemplate } from '../../../../../src/templates/custom-nodes/domain-lock-nodes/domain-lock-node/DomainLockNodeTemplate'; @@ -14,7 +14,7 @@ const assert: Chai.AssertStatic = require('chai').assert; * @returns {Function} */ function getFunctionFromTemplate (templateData: any, callsControllerFunctionName: string, currentDomain: string) { - let domainLockTemplate: string = DomainLockNodeTemplate().formatUnicorn(templateData); + let domainLockTemplate: string = format(DomainLockNodeTemplate(), templateData); return Function(` document = { diff --git a/test/functional-tests/templates/custom-nodes/string-array-nodes/StringArrayCallsWrapperNodeTemplate.spec.ts b/test/functional-tests/templates/custom-nodes/string-array-nodes/StringArrayCallsWrapperNodeTemplate.spec.ts index 8135300e..773039b4 100644 --- a/test/functional-tests/templates/custom-nodes/string-array-nodes/StringArrayCallsWrapperNodeTemplate.spec.ts +++ b/test/functional-tests/templates/custom-nodes/string-array-nodes/StringArrayCallsWrapperNodeTemplate.spec.ts @@ -1,4 +1,4 @@ -import 'format-unicorn'; +import * as format from 'string-template'; import { AtobTemplate } from '../../../../../src/templates/custom-nodes/AtobTemplate'; import { Rc4Template } from '../../../../../src/templates/custom-nodes/Rc4Template'; @@ -23,7 +23,7 @@ function getFunctionFromTemplateBase64Encoding ( stringArrayCallsWrapperName: string, index: string ) { - let stringArrayCallsWrapperTemplate: string = StringArrayCallsWrapperTemplate().formatUnicorn(templateData); + let stringArrayCallsWrapperTemplate: string = format(StringArrayCallsWrapperTemplate(), templateData); return Function(` var ${stringArrayName} = ['${Utils.btoa('test1')}']; @@ -49,7 +49,7 @@ function getFunctionFromTemplateRc4Encoding ( index: string, key: string ) { - let stringArrayCallsWrapperTemplate: string = StringArrayCallsWrapperTemplate().formatUnicorn(templateData); + let stringArrayCallsWrapperTemplate: string = format(StringArrayCallsWrapperTemplate(), templateData); return Function(` var ${stringArrayName} = ['${Utils.btoa(Utils.rc4('test1', key))}']; @@ -63,12 +63,12 @@ function getFunctionFromTemplateRc4Encoding ( describe('StringArrayCallsWrapperNodeTemplate (): string', () => { let stringArrayName: string = 'stringArrayName', stringArrayCallsWrapperName: string = 'stringArrayCallsWrapperName', - atobDecodeNodeTemplate: string = StringArrayBase64DecodeNodeTemplate().formatUnicorn({ + atobDecodeNodeTemplate: string = format(StringArrayBase64DecodeNodeTemplate(), { atobPolyfill: AtobTemplate(), selfDefendingCode: '', stringArrayCallsWrapperName }), - rc4DecodeNodeTemplate: string = StringArrayRc4DecodeNodeTemplate().formatUnicorn({ + rc4DecodeNodeTemplate: string = format(StringArrayRc4DecodeNodeTemplate(), { atobPolyfill: AtobTemplate(), rc4Polyfill: Rc4Template(), selfDefendingCode: '',