rc4 string literal encoding preparation

This commit is contained in:
sanex3339
2016-10-30 00:50:23 +03:00
parent add062feee
commit b2b066419a
9 changed files with 260 additions and 232 deletions
+170 -172
View File
@@ -88,7 +88,7 @@ module.exports =
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 82);
/******/ return __webpack_require__(__webpack_require__.s = 81);
/******/ })
/************************************************************************/
/******/ ([
@@ -102,7 +102,7 @@ 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__(76);
var chance_1 = __webpack_require__(75);
var JSFuck_1 = __webpack_require__(19);
var Utils = function () {
@@ -259,7 +259,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var escodegen = __webpack_require__(11);
var esprima = __webpack_require__(22);
var estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var Nodes_1 = __webpack_require__(2);
var Utils_1 = __webpack_require__(0);
@@ -425,7 +425,7 @@ 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 NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var Nodes = function () {
function Nodes() {
@@ -555,41 +555,6 @@ var AppendState = exports.AppendState;
/***/ },
/* 5 */
/***/ 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"); } }
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();
}
}]);
return AbstractCustomNode;
}();
exports.AbstractCustomNode = AbstractCustomNode;
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -626,6 +591,41 @@ exports.NodeType = Utils_1.Utils.strEnumify({
WhileStatement: 'WhileStatement'
});
/***/ },
/* 6 */
/***/ 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"); } }
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();
}
}]);
return AbstractCustomNode;
}();
exports.AbstractCustomNode = AbstractCustomNode;
/***/ },
/* 7 */
/***/ function(module, exports) {
@@ -1187,7 +1187,7 @@ var esprima = __webpack_require__(22);
var escodegen = __webpack_require__(11);
var ObfuscationResult_1 = __webpack_require__(18);
var Obfuscator_1 = __webpack_require__(26);
var Options_1 = __webpack_require__(55);
var Options_1 = __webpack_require__(54);
var SourceMapCorrector_1 = __webpack_require__(27);
var JavaScriptObfuscatorInternal = function () {
@@ -1255,23 +1255,23 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var estraverse = __webpack_require__(3);
var AppendState_1 = __webpack_require__(4);
var NodeType_1 = __webpack_require__(6);
var CatchClauseObfuscator_1 = __webpack_require__(46);
var ConsoleOutputNodesGroup_1 = __webpack_require__(41);
var DebugProtectionNodesGroup_1 = __webpack_require__(42);
var DomainLockNodesGroup_1 = __webpack_require__(43);
var FunctionDeclarationObfuscator_1 = __webpack_require__(47);
var FunctionObfuscator_1 = __webpack_require__(48);
var LiteralObfuscator_1 = __webpack_require__(49);
var MemberExpressionObfuscator_1 = __webpack_require__(50);
var MethodDefinitionObfuscator_1 = __webpack_require__(51);
var NodeType_1 = __webpack_require__(5);
var CatchClauseObfuscator_1 = __webpack_require__(45);
var ConsoleOutputNodesGroup_1 = __webpack_require__(40);
var DebugProtectionNodesGroup_1 = __webpack_require__(41);
var DomainLockNodesGroup_1 = __webpack_require__(42);
var FunctionDeclarationObfuscator_1 = __webpack_require__(46);
var FunctionObfuscator_1 = __webpack_require__(47);
var LiteralObfuscator_1 = __webpack_require__(48);
var MemberExpressionObfuscator_1 = __webpack_require__(49);
var MethodDefinitionObfuscator_1 = __webpack_require__(50);
var Nodes_1 = __webpack_require__(2);
var NodeUtils_1 = __webpack_require__(1);
var ObjectExpressionObfuscator_1 = __webpack_require__(52);
var SelfDefendingNodesGroup_1 = __webpack_require__(44);
var UnicodeArrayNodesGroup_1 = __webpack_require__(45);
var VariableDeclarationObfuscator_1 = __webpack_require__(53);
var StackTraceAnalyzer_1 = __webpack_require__(58);
var ObjectExpressionObfuscator_1 = __webpack_require__(51);
var SelfDefendingNodesGroup_1 = __webpack_require__(43);
var UnicodeArrayNodesGroup_1 = __webpack_require__(44);
var VariableDeclarationObfuscator_1 = __webpack_require__(52);
var StackTraceAnalyzer_1 = __webpack_require__(57);
var Obfuscator = function () {
function Obfuscator(options) {
@@ -1470,8 +1470,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 fs = __webpack_require__(79);
var mkdirp = __webpack_require__(80);
var fs = __webpack_require__(78);
var mkdirp = __webpack_require__(79);
var path = __webpack_require__(23);
var Utils_1 = __webpack_require__(0);
@@ -1562,7 +1562,7 @@ 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__(78);
var commander = __webpack_require__(77);
var path = __webpack_require__(23);
var SourceMapMode_1 = __webpack_require__(12);
var DefaultPreset_1 = __webpack_require__(21);
@@ -1700,8 +1700,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 AppendState_1 = __webpack_require__(4);
var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(63);
var AbstractCustomNode_1 = __webpack_require__(5);
var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(62);
var AbstractCustomNode_1 = __webpack_require__(6);
var CustomNodeAppender_1 = __webpack_require__(15);
var NodeUtils_1 = __webpack_require__(1);
@@ -1751,8 +1751,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(64);
var AbstractCustomNode_1 = __webpack_require__(5);
var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(63);
var AbstractCustomNode_1 = __webpack_require__(6);
var NodeUtils_1 = __webpack_require__(1);
var DebugProtectionFunctionCallNode = function (_AbstractCustomNode_) {
@@ -1804,8 +1804,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(65);
var AbstractCustomNode_1 = __webpack_require__(5);
var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(64);
var AbstractCustomNode_1 = __webpack_require__(6);
var NodeUtils_1 = __webpack_require__(1);
var DebugProtectionFunctionIntervalNode = function (_AbstractCustomNode_) {
@@ -1857,8 +1857,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var DebugProtectionFunctionTemplate_1 = __webpack_require__(66);
var AbstractCustomNode_1 = __webpack_require__(5);
var DebugProtectionFunctionTemplate_1 = __webpack_require__(65);
var AbstractCustomNode_1 = __webpack_require__(6);
var NodeUtils_1 = __webpack_require__(1);
var Utils_1 = __webpack_require__(0);
@@ -1923,8 +1923,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var DomainLockNodeTemplate_1 = __webpack_require__(67);
var AbstractCustomNode_1 = __webpack_require__(5);
var DomainLockNodeTemplate_1 = __webpack_require__(66);
var AbstractCustomNode_1 = __webpack_require__(6);
var CustomNodeAppender_1 = __webpack_require__(15);
var NodeUtils_1 = __webpack_require__(1);
var Utils_1 = __webpack_require__(0);
@@ -1986,8 +1986,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var AppendState_1 = __webpack_require__(4);
var NoCustomNodesPreset_1 = __webpack_require__(17);
var SelfDefendingTemplate_1 = __webpack_require__(68);
var AbstractCustomNode_1 = __webpack_require__(5);
var SelfDefendingTemplate_1 = __webpack_require__(67);
var AbstractCustomNode_1 = __webpack_require__(6);
var JavaScriptObfuscator_1 = __webpack_require__(9);
var NodeUtils_1 = __webpack_require__(1);
var CustomNodeAppender_1 = __webpack_require__(15);
@@ -2041,13 +2041,13 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var NoCustomNodesPreset_1 = __webpack_require__(17);
var AtobTemplate_1 = __webpack_require__(62);
var SelfDefendingTemplate_1 = __webpack_require__(83);
var UnicodeArrayCallsWrapperTemplate_1 = __webpack_require__(69);
var AbstractCustomNode_1 = __webpack_require__(5);
var AtobTemplate_1 = __webpack_require__(61);
var SelfDefendingTemplate_1 = __webpack_require__(68);
var UnicodeArrayAtobDecodeNodeTemplate_1 = __webpack_require__(69);
var UnicodeArrayCallsWrapperTemplate_1 = __webpack_require__(70);
var AbstractCustomNode_1 = __webpack_require__(6);
var JavaScriptObfuscator_1 = __webpack_require__(9);
var NodeUtils_1 = __webpack_require__(1);
var UnicodeArrayAtobDecodeNodeTemplate_1 = __webpack_require__(84);
var UnicodeArrayCallsWrapper = function (_AbstractCustomNode_) {
_inherits(UnicodeArrayCallsWrapper, _AbstractCustomNode_);
@@ -2085,21 +2085,22 @@ var UnicodeArrayCallsWrapper = function (_AbstractCustomNode_) {
}, {
key: 'getDecodeUnicodeArrayTemplate',
value: function getDecodeUnicodeArrayTemplate() {
var forLoopFunctionName = 'forLoopFunc';
var decodeFunctionName = 'decodeFunction';
var code = void 0;
if (this.options.selfDefending) {
code = SelfDefendingTemplate_1.SelfDefendingTemplate().formatUnicorn({
forLoopFunctionName: forLoopFunctionName,
decodeFunctionName: decodeFunctionName,
unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName,
unicodeArrayName: this.unicodeArrayName
});
} else {
code = forLoopFunctionName + '();';
code = 'value = ' + decodeFunctionName + '(decodedValues, index, value);';
}
return UnicodeArrayAtobDecodeNodeTemplate_1.UnicodeArrayAtobDecodeNodeTemplate().formatUnicorn({
atobPolyfill: AtobTemplate_1.AtobTemplate(),
code: code,
forLoopFunctionName: forLoopFunctionName,
unicodeArrayName: this.unicodeArrayName
decodeFunctionName: decodeFunctionName,
unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName
});
}
}, {
@@ -2120,8 +2121,7 @@ var UnicodeArrayCallsWrapper = function (_AbstractCustomNode_) {
exports.UnicodeArrayCallsWrapper = UnicodeArrayCallsWrapper;
/***/ },
/* 38 */,
/* 39 */
/* 38 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2139,8 +2139,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var UnicodeArrayTemplate_1 = __webpack_require__(72);
var AbstractCustomNode_1 = __webpack_require__(5);
var UnicodeArrayTemplate_1 = __webpack_require__(71);
var AbstractCustomNode_1 = __webpack_require__(6);
var NodeUtils_1 = __webpack_require__(1);
var UnicodeArrayNode = function (_AbstractCustomNode_) {
@@ -2207,7 +2207,7 @@ UnicodeArrayNode.UNICODE_ARRAY_RANDOM_LENGTH = 4;
exports.UnicodeArrayNode = UnicodeArrayNode;
/***/ },
/* 40 */
/* 39 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2226,9 +2226,9 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var NoCustomNodesPreset_1 = __webpack_require__(17);
var SelfDefendingTemplate_1 = __webpack_require__(73);
var UnicodeArrayRotateFunctionTemplate_1 = __webpack_require__(74);
var AbstractCustomNode_1 = __webpack_require__(5);
var SelfDefendingTemplate_1 = __webpack_require__(72);
var UnicodeArrayRotateFunctionTemplate_1 = __webpack_require__(73);
var AbstractCustomNode_1 = __webpack_require__(6);
var JavaScriptObfuscator_1 = __webpack_require__(9);
var NodeUtils_1 = __webpack_require__(1);
var Utils_1 = __webpack_require__(0);
@@ -2291,7 +2291,7 @@ var UnicodeArrayRotateFunctionNode = function (_AbstractCustomNode_) {
exports.UnicodeArrayRotateFunctionNode = UnicodeArrayRotateFunctionNode;
/***/ },
/* 41 */
/* 40 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2327,7 +2327,7 @@ var ConsoleOutputNodesGroup = function (_AbstractNodesGroup_) {
exports.ConsoleOutputNodesGroup = ConsoleOutputNodesGroup;
/***/ },
/* 42 */
/* 41 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2371,7 +2371,7 @@ var DebugProtectionNodesGroup = function (_AbstractNodesGroup_) {
exports.DebugProtectionNodesGroup = DebugProtectionNodesGroup;
/***/ },
/* 43 */
/* 42 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2407,7 +2407,7 @@ var DomainLockNodesGroup = function (_AbstractNodesGroup_) {
exports.DomainLockNodesGroup = DomainLockNodesGroup;
/***/ },
/* 44 */
/* 43 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2443,7 +2443,7 @@ var SelfDefendingNodesGroup = function (_AbstractNodesGroup_) {
exports.SelfDefendingNodesGroup = SelfDefendingNodesGroup;
/***/ },
/* 45 */
/* 44 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2458,8 +2458,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var AbstractNodesGroup_1 = __webpack_require__(10);
var UnicodeArray_1 = __webpack_require__(28);
var UnicodeArrayCallsWrapper_1 = __webpack_require__(37);
var UnicodeArrayNode_1 = __webpack_require__(39);
var UnicodeArrayRotateFunctionNode_1 = __webpack_require__(40);
var UnicodeArrayNode_1 = __webpack_require__(38);
var UnicodeArrayRotateFunctionNode_1 = __webpack_require__(39);
var Utils_1 = __webpack_require__(0);
var UnicodeArrayNodesGroup = function (_AbstractNodesGroup_) {
@@ -2499,7 +2499,7 @@ var UnicodeArrayNodesGroup = function (_AbstractNodesGroup_) {
exports.UnicodeArrayNodesGroup = UnicodeArrayNodesGroup;
/***/ },
/* 46 */
/* 45 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2514,7 +2514,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 estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var IdentifierReplacer_1 = __webpack_require__(14);
var Nodes_1 = __webpack_require__(2);
@@ -2570,7 +2570,7 @@ var CatchClauseObfuscator = function (_AbstractNodeObfuscat) {
exports.CatchClauseObfuscator = CatchClauseObfuscator;
/***/ },
/* 47 */
/* 46 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2585,7 +2585,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 estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var IdentifierReplacer_1 = __webpack_require__(14);
var Nodes_1 = __webpack_require__(2);
@@ -2645,7 +2645,7 @@ var FunctionDeclarationObfuscator = function (_AbstractNodeObfuscat) {
exports.FunctionDeclarationObfuscator = FunctionDeclarationObfuscator;
/***/ },
/* 48 */
/* 47 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2660,7 +2660,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 estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var IdentifierReplacer_1 = __webpack_require__(14);
var Nodes_1 = __webpack_require__(2);
@@ -2726,7 +2726,7 @@ var FunctionObfuscator = function (_AbstractNodeObfuscat) {
exports.FunctionObfuscator = FunctionObfuscator;
/***/ },
/* 49 */
/* 48 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2744,7 +2744,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var escodegen = __webpack_require__(11);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var BooleanLiteralReplacer_1 = __webpack_require__(54);
var BooleanLiteralReplacer_1 = __webpack_require__(53);
var Nodes_1 = __webpack_require__(2);
var NumberLiteralReplacer_1 = __webpack_require__(20);
var StringLiteralReplacer_1 = __webpack_require__(16);
@@ -2791,7 +2791,7 @@ var LiteralObfuscator = function (_AbstractNodeObfuscat) {
exports.LiteralObfuscator = LiteralObfuscator;
/***/ },
/* 50 */
/* 49 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2807,7 +2807,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var escodegen = __webpack_require__(11);
var estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var Nodes_1 = __webpack_require__(2);
var StringLiteralReplacer_1 = __webpack_require__(16);
@@ -2876,7 +2876,7 @@ var MemberExpressionObfuscator = function (_AbstractNodeObfuscat) {
exports.MemberExpressionObfuscator = MemberExpressionObfuscator;
/***/ },
/* 51 */
/* 50 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2937,7 +2937,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator;
/***/ },
/* 52 */
/* 51 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -2953,7 +2953,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var escodegen = __webpack_require__(11);
var estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var Nodes_1 = __webpack_require__(2);
var Utils_1 = __webpack_require__(0);
@@ -3023,7 +3023,7 @@ var ObjectExpressionObfuscator = function (_AbstractNodeObfuscat) {
exports.ObjectExpressionObfuscator = ObjectExpressionObfuscator;
/***/ },
/* 53 */
/* 52 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3038,7 +3038,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 estraverse = __webpack_require__(3);
var NodeType_1 = __webpack_require__(6);
var NodeType_1 = __webpack_require__(5);
var AbstractNodeObfuscator_1 = __webpack_require__(7);
var IdentifierReplacer_1 = __webpack_require__(14);
var Nodes_1 = __webpack_require__(2);
@@ -3100,7 +3100,7 @@ var VariableDeclarationObfuscator = function (_AbstractNodeObfuscat) {
exports.VariableDeclarationObfuscator = VariableDeclarationObfuscator;
/***/ },
/* 54 */
/* 53 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3139,7 +3139,7 @@ var BooleanLiteralReplacer = function (_AbstractReplacer_1$A) {
exports.BooleanLiteralReplacer = BooleanLiteralReplacer;
/***/ },
/* 55 */
/* 54 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3160,11 +3160,11 @@ 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__(77);
var TSourceMapMode_1 = __webpack_require__(75);
var class_validator_1 = __webpack_require__(76);
var TSourceMapMode_1 = __webpack_require__(74);
var DefaultPreset_1 = __webpack_require__(21);
var OptionsNormalizer_1 = __webpack_require__(56);
var ValidationErrorsFormatter_1 = __webpack_require__(57);
var OptionsNormalizer_1 = __webpack_require__(55);
var ValidationErrorsFormatter_1 = __webpack_require__(56);
var Options = function Options(obfuscatorOptions) {
_classCallCheck(this, Options);
@@ -3210,7 +3210,7 @@ exports.Options = Options;
var _a;
/***/ },
/* 56 */
/* 55 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3379,7 +3379,7 @@ OptionsNormalizer.normalizerRules = [OptionsNormalizer.domainLockRule, OptionsNo
exports.OptionsNormalizer = OptionsNormalizer;
/***/ },
/* 57 */
/* 56 */
/***/ function(module, exports) {
"use strict";
@@ -3446,7 +3446,7 @@ var ValidationErrorsFormatter = function () {
exports.ValidationErrorsFormatter = ValidationErrorsFormatter;
/***/ },
/* 58 */
/* 57 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3457,10 +3457,10 @@ 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__(3);
var NodeType_1 = __webpack_require__(6);
var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(59);
var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(60);
var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(61);
var NodeType_1 = __webpack_require__(5);
var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(58);
var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(59);
var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(60);
var Nodes_1 = __webpack_require__(2);
var NodeUtils_1 = __webpack_require__(1);
@@ -3537,7 +3537,7 @@ var StackTraceAnalyzer = function () {
exports.StackTraceAnalyzer = StackTraceAnalyzer;
/***/ },
/* 59 */
/* 58 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3596,7 +3596,7 @@ var FunctionDeclarationCalleeDataExtractor = function () {
exports.FunctionDeclarationCalleeDataExtractor = FunctionDeclarationCalleeDataExtractor;
/***/ },
/* 60 */
/* 59 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3658,7 +3658,7 @@ var FunctionExpressionCalleeDataExtractor = function () {
exports.FunctionExpressionCalleeDataExtractor = FunctionExpressionCalleeDataExtractor;
/***/ },
/* 61 */
/* 60 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3789,7 +3789,7 @@ var ObjectExpressionCalleeDataExtractor = function () {
exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor;
/***/ },
/* 62 */
/* 61 */
/***/ function(module, exports) {
"use strict";
@@ -3801,7 +3801,7 @@ function AtobTemplate() {
exports.AtobTemplate = AtobTemplate;
/***/ },
/* 63 */
/* 62 */
/***/ function(module, exports) {
"use strict";
@@ -3813,7 +3813,7 @@ function ConsoleOutputDisableExpressionTemplate() {
exports.ConsoleOutputDisableExpressionTemplate = ConsoleOutputDisableExpressionTemplate;
/***/ },
/* 64 */
/* 63 */
/***/ function(module, exports) {
"use strict";
@@ -3825,7 +3825,7 @@ function DebugProtectionFunctionCallTemplate() {
exports.DebugProtectionFunctionCallTemplate = DebugProtectionFunctionCallTemplate;
/***/ },
/* 65 */
/* 64 */
/***/ function(module, exports) {
"use strict";
@@ -3837,7 +3837,7 @@ function DebugProtectionFunctionIntervalTemplate() {
exports.DebugProtectionFunctionIntervalTemplate = DebugProtectionFunctionIntervalTemplate;
/***/ },
/* 66 */
/* 65 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3850,7 +3850,7 @@ function DebugProtectionFunctionTemplate() {
exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate;
/***/ },
/* 67 */
/* 66 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3863,7 +3863,7 @@ function DomainLockNodeTemplate() {
exports.DomainLockNodeTemplate = DomainLockNodeTemplate;
/***/ },
/* 68 */
/* 67 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3875,6 +3875,19 @@ function SelfDefendingTemplate() {
}
exports.SelfDefendingTemplate = SelfDefendingTemplate;
/***/ },
/* 68 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
"use strict";
var Utils_1 = __webpack_require__(0);
function SelfDefendingTemplate() {
return '\n var func = function(){return \'dev\';};\n \n !{unicodeArrayCallsWrapperName}.flag ? ({unicodeArrayCallsWrapperName}.flag = true, Function(' + Utils_1.Utils.stringToUnicode('return/\\w+ *\\(\\) *{\\w+ *[\'|"].+[\'|"];? *}/') + ')()[\'test\'](func[\'toString\']()) !== true && !{unicodeArrayName}++ ? [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(true){}\')() : (value = Function(\'a\', \'b\', \'c\', \'d\', \'return a.call(null, b, c, d)\')({decodeFunctionName}, decodedValues, index, value)) ? [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(false){}\')() : [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(false){}\')()) : (value = Function(\'a\', \'b\', \'c\', \'d\', \'return a.call(null, b, c, d)\')({decodeFunctionName}, decodedValues, index, value));\n ';
}
exports.SelfDefendingTemplate = SelfDefendingTemplate;
/***/ },
/* 69 */
/***/ function(module, exports) {
@@ -3882,15 +3895,25 @@ exports.SelfDefendingTemplate = SelfDefendingTemplate;
"use strict";
"use strict";
function UnicodeArrayAtobDecodeNodeTemplate() {
return " \n {atobPolyfill}\n \n var decodedValues = {unicodeArrayCallsWrapperName}.data || {};\n \n var {decodeFunctionName} = function (decodedValues, index, value) {\n if (!decodedValues[index]) {\n value = decodeURI(atob(value));\n decodedValues[index] = value;\n } else {\n value = decodedValues[index];\n } \n \n {unicodeArrayCallsWrapperName}.data = decodedValues;\n \n return value;\n }\n \n {code}\n ";
}
exports.UnicodeArrayAtobDecodeNodeTemplate = UnicodeArrayAtobDecodeNodeTemplate;
/***/ },
/* 70 */
/***/ function(module, exports) {
"use strict";
"use strict";
function UnicodeArrayCallsWrapperTemplate() {
return "\n var {unicodeArrayCallsWrapperName} = function (index, key) {\n var value = {unicodeArrayName}[parseInt(index, 0x010)]\n \n {decodeNodeTemplate}\n \n return value;\n };\n ";
return "\n var {unicodeArrayCallsWrapperName} = function (index, key) {\n var index = parseInt(index, 0x010);\n var value = {unicodeArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n ";
}
exports.UnicodeArrayCallsWrapperTemplate = UnicodeArrayCallsWrapperTemplate;
/***/ },
/* 70 */,
/* 71 */,
/* 72 */
/* 71 */
/***/ function(module, exports) {
"use strict";
@@ -3902,7 +3925,7 @@ function UnicodeArrayTemplate() {
exports.UnicodeArrayTemplate = UnicodeArrayTemplate;
/***/ },
/* 73 */
/* 72 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3915,7 +3938,7 @@ function SelfDefendingTemplate() {
exports.SelfDefendingTemplate = SelfDefendingTemplate;
/***/ },
/* 74 */
/* 73 */
/***/ function(module, exports) {
"use strict";
@@ -3927,45 +3950,45 @@ function UnicodeArrayRotateFunctionTemplate() {
exports.UnicodeArrayRotateFunctionTemplate = UnicodeArrayRotateFunctionTemplate;
/***/ },
/* 75 */
/* 74 */
/***/ function(module, exports) {
"use strict";
"use strict";
/***/ },
/* 76 */
/* 75 */
/***/ function(module, exports) {
module.exports = require("chance");
/***/ },
/* 77 */
/* 76 */
/***/ function(module, exports) {
module.exports = require("class-validator");
/***/ },
/* 78 */
/* 77 */
/***/ function(module, exports) {
module.exports = require("commander");
/***/ },
/* 79 */
/* 78 */
/***/ function(module, exports) {
module.exports = require("fs");
/***/ },
/* 80 */
/* 79 */
/***/ function(module, exports) {
module.exports = require("mkdirp");
/***/ },
/* 81 */,
/* 82 */
/* 80 */,
/* 81 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -3977,31 +4000,6 @@ if (!global._babelPolyfill) {
}
module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator;
/***/ },
/* 83 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
"use strict";
var Utils_1 = __webpack_require__(0);
function SelfDefendingTemplate() {
return '\n var func = function(){return \'dev\';};\n \n Function(' + Utils_1.Utils.stringToUnicode('return/\\w+ *\\(\\) *{\\w+ *[\'|"].+[\'|"];? *}/') + ')()[\'test\'](func[\'toString\']()) !== true && !{unicodeArrayName}++ ? [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(true){}\')() : Function(\'a\', atob(' + Utils_1.Utils.stringToUnicode(Utils_1.Utils.btoa('a.call()')) + '))({forLoopFunctionName}) ? [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(false){}\')() : [][\'filter\'][\'constructor\'](' + Utils_1.Utils.stringToJSFuck('while') + ' + \'(false){}\')();\n ';
}
exports.SelfDefendingTemplate = SelfDefendingTemplate;
/***/ },
/* 84 */
/***/ function(module, exports) {
"use strict";
"use strict";
function UnicodeArrayAtobDecodeNodeTemplate() {
return "\n var decodedIndices = [];\n \n if (decodedIndices.indexOf(index) === -1) {\n value = atob(value);\n }\n ";
}
exports.UnicodeArrayAtobDecodeNodeTemplate = UnicodeArrayAtobDecodeNodeTemplate;
/***/ }
/******/ ]);
//# sourceMappingURL=index.js.map
@@ -12,13 +12,13 @@ import { NO_CUSTOM_NODES_PRESET } from '../../preset-options/NoCustomNodesPreset
import { AtobTemplate } from '../../templates/custom-nodes/AtobTemplate';
import { SelfDefendingTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/SelfDefendingTemplate';
import { UnicodeArrayAtobDecodeNodeTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayAtobDecodeNodeTemplate';
import { UnicodeArrayCallsWrapperTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayCallsWrapperTemplate';
import { AbstractCustomNode } from '../AbstractCustomNode';
import { JavaScriptObfuscator } from '../../JavaScriptObfuscator';
import { NodeUtils } from '../../NodeUtils';
import { UnicodeArray } from '../../UnicodeArray';
import { UnicodeArrayAtobDecodeNodeTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayAtobDecodeNodeTemplate';
export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
/**
@@ -86,27 +86,28 @@ export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
}
/**
* @returns {any}
* @returns {string}
*/
protected getDecodeUnicodeArrayTemplate (): string {
const forLoopFunctionName: string = 'forLoopFunc';
const decodeFunctionName: string = 'decodeFunction';
let code: string;
if (this.options.selfDefending) {
code = SelfDefendingTemplate().formatUnicorn({
forLoopFunctionName,
decodeFunctionName,
unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName,
unicodeArrayName: this.unicodeArrayName
});
} else {
code = `${forLoopFunctionName}();`;
code = `value = ${decodeFunctionName}(decodedValues, index, value);`;
}
return UnicodeArrayAtobDecodeNodeTemplate().formatUnicorn({
atobPolyfill: AtobTemplate(),
code,
forLoopFunctionName,
unicodeArrayName: this.unicodeArrayName
decodeFunctionName,
unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName
})
}
@@ -114,12 +115,14 @@ export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
* @returns {ESTree.Node}
*/
protected getNodeStructure (): ESTree.Node {
let decodeNodeTemplate: string = this.options.encodeUnicodeLiterals ? this.getDecodeUnicodeArrayTemplate() : '';
const decodeNodeTemplate: string = this.options.encodeUnicodeLiterals ?
this.getDecodeUnicodeArrayTemplate() :
'';
return NodeUtils.convertCodeToStructure(
JavaScriptObfuscator.obfuscate(
UnicodeArrayCallsWrapperTemplate().formatUnicorn({
decodeNodeTemplate: decodeNodeTemplate,
decodeNodeTemplate,
unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName,
unicodeArrayName: this.unicodeArrayName
}),
@@ -6,7 +6,7 @@ import { Utils } from '../../../../Utils';
export function SelfDefendingTemplate (): string {
return `
var func = function(){return 'dev';};
Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()['test'](func['toString']()) !== true && !{unicodeArrayName}++ ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(true){}')() : Function('a', atob(${Utils.stringToUnicode(Utils.btoa('a.call()'))}))({forLoopFunctionName}) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(false){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(false){}')();
!{unicodeArrayCallsWrapperName}.flag ? ({unicodeArrayCallsWrapperName}.flag = true, Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()['test'](func['toString']()) !== true && !{unicodeArrayName}++ ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(true){}')() : (value = Function('a', 'b', 'c', 'd', 'return a.call(null, b, c, d)')({decodeFunctionName}, decodedValues, index, value)) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(false){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(false){}')()) : (value = Function('a', 'b', 'c', 'd', 'return a.call(null, b, c, d)')({decodeFunctionName}, decodedValues, index, value));
`;
}
@@ -2,11 +2,24 @@
* @returns {string}
*/
export function UnicodeArrayAtobDecodeNodeTemplate (): string {
return `
var decodedIndices = [];
if (decodedIndices.indexOf(index) === -1) {
value = atob(value);
return `
{atobPolyfill}
var decodedValues = {unicodeArrayCallsWrapperName}.data || {};
var {decodeFunctionName} = function (decodedValues, index, value) {
if (!decodedValues[index]) {
value = decodeURI(atob(value));
decodedValues[index] = value;
} else {
value = decodedValues[index];
}
{unicodeArrayCallsWrapperName}.data = decodedValues;
return value;
}
{code}
`;
}
@@ -4,7 +4,8 @@
export function UnicodeArrayCallsWrapperTemplate (): string {
return `
var {unicodeArrayCallsWrapperName} = function (index, key) {
var value = {unicodeArrayName}[parseInt(index, 0x010)]
var index = parseInt(index, 0x010);
var value = {unicodeArrayName}[index];
{decodeNodeTemplate}
@@ -15,7 +15,7 @@ describe('UnicodeArrayCallsWrapper', () => {
assert.match(
obfuscationResult.getObfuscatedCode(),
/var *_0x([a-z0-9]){4,6} *= *_0x([a-z0-9]){4}\[parseInt\(_0x([a-z0-9]){4,6}, *0x10\)\];/
/var *_0x([a-z0-9]){4,6} *= *parseInt\(_0x([a-z0-9]){4,6}, *0x10\);/
);
});
});
@@ -0,0 +1,54 @@
import 'format-unicorn';
import { AtobTemplate } from '../../../../../src/templates/custom-nodes/AtobTemplate';
import { UnicodeArrayAtobDecodeNodeTemplate } from '../../../../../src/templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayAtobDecodeNodeTemplate';
import { UnicodeArrayCallsWrapperTemplate } from '../../../../../src/templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayCallsWrapperTemplate';
import { Utils } from '../../../../../src/Utils';
const assert: Chai.AssertStatic = require('chai').assert;
/**
* @param templateData
* @param unicodeArrayName
* @param unicodeArrayCallsWrapperName
* @param index
* @returns {Function}
*/
function getFunctionFromTemplate (
templateData: any,
unicodeArrayName: string,
unicodeArrayCallsWrapperName: string,
index: string
) {
let unicodeArrayCallsWrapperTemplate: string = UnicodeArrayCallsWrapperTemplate().formatUnicorn(templateData);
return Function(`
var ${unicodeArrayName} = ['${Utils.btoa('test1')}'];
${unicodeArrayCallsWrapperTemplate}
return ${unicodeArrayCallsWrapperName}(${index});
`)();
}
describe('UnicodeArrayCallsWrapperNodeTemplate (): string', () => {
let decodeFunctionName: string = 'decodeFunction',
unicodeArrayName: string = 'unicodeArrayName',
unicodeArrayCallsWrapperName: string = 'unicodeArrayCallsWrapperName',
atobDecodeNodeTemplate: string = UnicodeArrayAtobDecodeNodeTemplate().formatUnicorn({
atobPolyfill: AtobTemplate(),
code: `value = ${decodeFunctionName}(decodedValues, index, value);`,
decodeFunctionName,
unicodeArrayCallsWrapperName
});
it('should correctly returns decoded value with atob encoding', () => {
assert.deepEqual(getFunctionFromTemplate({
decodeNodeTemplate: atobDecodeNodeTemplate,
unicodeArrayCallsWrapperName,
unicodeArrayName
}, unicodeArrayName, unicodeArrayCallsWrapperName, '0x0'), 'test1');
});
});
@@ -1,41 +0,0 @@
import 'format-unicorn';
import { AtobTemplate } from '../../../../../src/templates/custom-nodes/AtobTemplate';
import { UnicodeArrayAtobDecodeNodeTemplate } from '../../../../../src/templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayAtobDecodeNodeTemplate';
import { Utils } from '../../../../../src/Utils';
const assert: Chai.AssertStatic = require('chai').assert;
/**
* @param templateData
* @param unicodeArrayName
* @returns {Function}
*/
function getFunctionFromTemplate (templateData: any, unicodeArrayName: string) {
let domainLockTemplate: string = UnicodeArrayAtobDecodeNodeTemplate().formatUnicorn(templateData);
return Function(`
var ${unicodeArrayName} = ['${Utils.btoa('test1')}', '${Utils.btoa('test2')}'];
${domainLockTemplate}
return ${unicodeArrayName};
`)();
}
describe('UnicodeArrayAtobDecodeNodeTemplate (): string', () => {
let forLoopFunctionName: string = 'forLoop',
code: string = `${forLoopFunctionName}();`,
unicodeArrayName: string = 'unicodeArray';
it('should correctly decode unicode array items from Base64', () => {
assert.deepEqual(getFunctionFromTemplate({
atobPolyfill: AtobTemplate(),
code,
forLoopFunctionName,
unicodeArrayName: unicodeArrayName
}, unicodeArrayName), ['test1', 'test2']);
});
});
+1 -1
View File
@@ -37,7 +37,7 @@ import './functional-tests/node-obfuscators/ObjectExpressionObfuscator.spec';
import './functional-tests/node-obfuscators/VariableDeclarationObfuscator.spec';
import './functional-tests/stack-trace-analyzer/StackTraceAnalyzer.spec';
import './functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec';
import './functional-tests/templates/custom-nodes/unicode-array-nodes/UnicodeArrayDecodeNodeTemplate.spec';
import './functional-tests/templates/custom-nodes/unicode-array-nodes/UnicodeArrayCallsWrapperNodeTemplate.spec';
/**
* Performance tests