diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d72f27a..c7762877 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ Change Log === +v0.9.0 +* **Breaking change:** dropped `node@0.10` and `node@0.12` support. +* **New option:** `controlFlowFlattening` allows to enable/disable **Control Flow flattening**. Control flow flattening is a structure transformation of the source code that hinders program comprehension. +* **New option:** `controlFlowFlatteningThreshold` allows to set percentage of nodes that will affected by `controlFlowFlattening`. +* Significantly increased obfuscation performance. +* Huge internal refactoring. +* Better `es2015` support: correct obfuscation of `TemplateLiteral`, `ArrayPattern`, `AssignmentPattern` nodes. +* Switched from `npm` to `yarn` internally. +* Various bug fixes. + v0.9.0-beta.5 --- * Increased performance diff --git a/README.md b/README.md index 079722ed..a520fb60 100644 --- a/README.md +++ b/README.md @@ -71,39 +71,59 @@ var obfuscationResult = JavaScriptObfuscator.obfuscate( console.log(obfuscationResult.getObfuscatedCode()); /* -var _0x20c3 = [ +var _0x6b22 = [ + '\x67\x63\x73', + '\x32\x7c\x34\x7c\x30\x7c\x35\x7c\x31\x7c\x33', + '\x73\x70\x6c\x69\x74', '\x6c\x6f\x67', - '\x78\x4c\x77', - '\x51\x72\x6b' + '\x68\x49\x4d' ]; -(function (_0x3cd8ee, _0x363b84) { - var _0x52ec75 = function (_0xda70d7) { - while (--_0xda70d7) { - _0x3cd8ee['\x70\x75\x73\x68'](_0x3cd8ee['\x73\x68\x69\x66\x74']()); +(function (_0xe12ddf, _0x9bc9d1) { + var _0x3a950b = function (_0x78e498) { + while (--_0x78e498) { + _0xe12ddf['\x70\x75\x73\x68'](_0xe12ddf['\x73\x68\x69\x66\x74']()); } }; - _0x52ec75(++_0x363b84); -}(_0x20c3, 0x11e)); -var _0xc320 = function (_0x578269, _0x5685a1) { - var _0x578269 = parseInt(_0x578269, 0x10); - var _0xef46f2 = _0x20c3[_0x578269]; - return _0xef46f2; + _0x3a950b(++_0x9bc9d1); +}(_0x6b22, 0x1cd)); +var _0x26b2 = function (_0x348b1e, _0x346c2a) { + _0x348b1e = _0x348b1e - 0x0; + var _0x45ae32 = _0x6b22[_0x348b1e]; + return _0x45ae32; }; (function () { - var _0x2559cb = { - '\x78\x4c\x77': function _0x1(_0x1936fd, _0x5ed38f) { - return _0x1936fd + _0x5ed38f; + var _0x3a3615 = { + '\x68\x49\x4d': function _0x4c002e(_0x5a880a, _0xe710e3) { + return _0x5a880a - _0xe710e3; }, - '\x51\x72\x6b': function _0x3(_0x4414d6, _0x1db310) { - return _0x4414d6 + _0x1db310; + '\x67\x63\x73': function _0x4cbf4b(_0xe1f02d, _0x5d1157) { + return _0xe1f02d + _0x5d1157; } }; - var _0x32d9b = '\x35' - 0x3; - var _0x2b7aac = _0x2559cb[_0xc320('0x0')]('\x35', 0x3); - var _0x3c7304 = _0x2559cb['\x51\x72\x6b']('\x35', -'\x32'); - console['\x6c\x6f\x67'](_0x32d9b); - console[_0xc320('0x2')](_0x2b7aac); - console[_0xc320('0x2')](_0x3c7304); + var _0x26dbf0 = _0x26b2('0x0')[_0x26b2('0x1')]('\x7c'), _0x345ed7 = 0x0; + while (!![]) { + switch (_0x26dbf0[_0x345ed7++]) { + case '\x30': + var _0x5eb388 = '\x35' + -'\x32'; + continue; + case '\x31': + console[_0x26b2('0x2')](_0x52a502); + continue; + case '\x32': + var _0xd18cf9 = _0x3a3615[_0x26b2('0x3')]('\x35', 0x3); + continue; + case '\x33': + console[_0x26b2('0x2')](_0x5eb388); + continue; + case '\x34': + var _0x52a502 = _0x3a3615[_0x26b2('0x4')]('\x35', 0x3); + continue; + case '\x35': + console[_0x26b2('0x2')](_0xd18cf9); + continue; + } + break; + } }()); */ ``` @@ -231,41 +251,36 @@ Example: // output (function () { - var _0x4cd5dd = { - '\x42\x4e\x62': function _0x14cffe(_0x38a20c, _0x42b1f2) { - return _0x38a20c + _0x42b1f2; - } - }; - function _0xd58698() { - var _0x36cac7 = { - '\x6a\x52\x79': function _0x2d3ac9(_0x2e037c, _0x457f42) { - return _0x4cd5dd['BNb'](_0x2e037c, _0x457f42); - } - }; + function _0x425898() { return function () { - var _0x42a17d = '5\x7c3\x7c2\x7c6\x7c4\x7c1\x7c0'['split']('\x7c'), _0x1fcdcf = 0x0; + var _0x2b972d = { + '\x42\x6c\x67': function _0x160d18(_0xdc9f31, _0x3741dd) { + return _0xdc9f31 + _0x3741dd; + } + }; + var _0x170490 = '\x35\x7c\x34\x7c\x33\x7c\x32\x7c\x30\x7c\x36\x7c\x31'['\x73\x70\x6c\x69\x74']('\x7c'), _0x4f3437 = 0x0; while (!![]) { - switch (_0x42a17d[_0x1fcdcf++]) { - case '0': - console['log'](0x6); + switch (_0x170490[_0x4f3437++]) { + case '\x30': + console['\x6c\x6f\x67'](0x4); continue; - case '1': - console['log'](0x5); + case '\x31': + console['\x6c\x6f\x67'](0x6); continue; - case '2': - console['log'](0x2); + case '\x32': + console['\x6c\x6f\x67'](0x3); continue; - case '3': - console['log'](0x1); + case '\x33': + console['\x6c\x6f\x67'](0x2); continue; - case '4': - console['log'](0x4); + case '\x34': + console['\x6c\x6f\x67'](0x1); continue; - case '5': - var _0x15a932 = _0x36cac7['jRy'](0x1, 0x2); + case '\x35': + var _0x476f51 = _0x2b972d['\x42\x6c\x67'](0x1, 0x2); continue; - case '6': - console['log'](0x3); + case '\x36': + console['\x6c\x6f\x67'](0x5); continue; } break; diff --git a/dist/index.js b/dist/index.js index b9391253..6df9560b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -90,7 +90,7 @@ module.exports = /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 146); +/******/ return __webpack_require__(__webpack_require__.s = 145); /******/ }) /************************************************************************/ /******/ ([ @@ -351,7 +351,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__(138); +var chance_1 = __webpack_require__(137); var Utils_1 = __webpack_require__(13); var RandomGeneratorUtils = function () { @@ -862,12 +862,6 @@ exports.Utils = Utils; /***/ }), /* 14 */ -/***/ (function(module, exports) { - -module.exports = require("babel-runtime/core-js/map"); - -/***/ }), -/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -895,7 +889,7 @@ var CustomNodes; })(CustomNodes = exports.CustomNodes || (exports.CustomNodes = {})); /***/ }), -/* 16 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -916,6 +910,12 @@ var AbstractNodeTransformer = function AbstractNodeTransformer(options) { AbstractNodeTransformer = tslib_1.__decorate([inversify_1.injectable(), tslib_1.__param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), tslib_1.__metadata("design:paramtypes", [Object])], AbstractNodeTransformer); exports.AbstractNodeTransformer = AbstractNodeTransformer; +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("babel-runtime/core-js/map"); + /***/ }), /* 17 */ /***/ (function(module, exports) { @@ -1321,24 +1321,32 @@ exports.ObfuscationEvents = { }; /***/ }), -/* 22 */, +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var ObfuscationReplacers; +(function (ObfuscationReplacers) { + ObfuscationReplacers[ObfuscationReplacers["BooleanReplacer"] = 0] = "BooleanReplacer"; + ObfuscationReplacers[ObfuscationReplacers["IdentifierReplacer"] = 1] = "IdentifierReplacer"; + ObfuscationReplacers[ObfuscationReplacers["NumberLiteralReplacer"] = 2] = "NumberLiteralReplacer"; + ObfuscationReplacers[ObfuscationReplacers["StringLiteralReplacer"] = 3] = "StringLiteralReplacer"; +})(ObfuscationReplacers = exports.ObfuscationReplacers || (exports.ObfuscationReplacers = {})); + +/***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _classCallCheck2 = __webpack_require__(3); +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; }; })(); -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var _createClass2 = __webpack_require__(4); - -var _createClass3 = _interopRequireDefault(_createClass2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -__webpack_require__(144); +__webpack_require__(143); var ServiceIdentifiers_1 = __webpack_require__(2); var InversifyContainerFacade_1 = __webpack_require__(56); var JavaScriptObfuscatorCLI_1 = __webpack_require__(55); @@ -1346,10 +1354,10 @@ var RandomGeneratorUtils_1 = __webpack_require__(9); var JavaScriptObfuscator = function () { function JavaScriptObfuscator() { - (0, _classCallCheck3.default)(this, JavaScriptObfuscator); + _classCallCheck(this, JavaScriptObfuscator); } - (0, _createClass3.default)(JavaScriptObfuscator, null, [{ + _createClass(JavaScriptObfuscator, null, [{ key: "obfuscate", value: function obfuscate(sourceCode) { var inputOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; @@ -1368,6 +1376,7 @@ var JavaScriptObfuscator = function () { new JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI(argv).run(); } }]); + return JavaScriptObfuscator; }(); @@ -1841,6 +1850,20 @@ var CalleeDataExtractors; "use strict"; +var ControlFlowReplacers; +(function (ControlFlowReplacers) { + ControlFlowReplacers[ControlFlowReplacers["BinaryExpressionControlFlowReplacer"] = 0] = "BinaryExpressionControlFlowReplacer"; + ControlFlowReplacers[ControlFlowReplacers["CallExpressionControlFlowReplacer"] = 1] = "CallExpressionControlFlowReplacer"; + ControlFlowReplacers[ControlFlowReplacers["LogicalExpressionControlFlowReplacer"] = 2] = "LogicalExpressionControlFlowReplacer"; +})(ControlFlowReplacers = exports.ControlFlowReplacers || (exports.ControlFlowReplacers = {})); + +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + var CustomNodeGroups; (function (CustomNodeGroups) { CustomNodeGroups[CustomNodeGroups["ConsoleOutputCustomNodeGroup"] = 0] = "ConsoleOutputCustomNodeGroup"; @@ -1851,7 +1874,6 @@ var CustomNodeGroups; })(CustomNodeGroups = exports.CustomNodeGroups || (exports.CustomNodeGroups = {})); /***/ }), -/* 39 */, /* 40 */ /***/ (function(module, exports, __webpack_require__) { @@ -1946,7 +1968,7 @@ var AbstractControlFlowReplacer_1; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -1976,7 +1998,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var AbstractControlFlowReplacer_1 = __webpack_require__(41); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var Node_1 = __webpack_require__(11); var ExpressionWithOperatorControlFlowReplacer = function (_AbstractControlFlowR) { (0, _inherits3.default)(ExpressionWithOperatorControlFlowReplacer, _AbstractControlFlowR); @@ -2054,7 +2076,7 @@ var _toConsumableArray2 = __webpack_require__(35); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -2514,8 +2536,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__(142); -var mkdirp = __webpack_require__(143); +var fs = __webpack_require__(141); +var mkdirp = __webpack_require__(142); var path = __webpack_require__(49); var CLIUtils = function () { @@ -2616,7 +2638,7 @@ var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var tslib_1 = __webpack_require__(1); -var commander = __webpack_require__(140); +var commander = __webpack_require__(139); var path = __webpack_require__(49); var SourceMapMode_1 = __webpack_require__(27); var StringArrayEncoding_1 = __webpack_require__(31); @@ -2834,7 +2856,7 @@ exports.InversifyContainerFacade = InversifyContainerFacade; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -2842,8 +2864,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodes_1 = __webpack_require__(15); -var CustomNodeGroups_1 = __webpack_require__(38); +var CustomNodes_1 = __webpack_require__(14); +var CustomNodeGroups_1 = __webpack_require__(39); var ConsoleOutputCustomNodeGroup_1 = __webpack_require__(64); var DebugProtectionCustomNodeGroup_1 = __webpack_require__(75); var DomainLockCustomNodeGroup_1 = __webpack_require__(77); @@ -2920,7 +2942,7 @@ exports.customNodesModule = new inversify_1.ContainerModule(function (bind) { var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var ControlFlowReplacers_1 = __webpack_require__(148); +var ControlFlowReplacers_1 = __webpack_require__(38); var BinaryExpressionControlFlowReplacer_1 = __webpack_require__(89); var CallExpressionControlFlowReplacer_1 = __webpack_require__(90); var LogicalExpressionControlFlowReplacer_1 = __webpack_require__(91); @@ -2948,7 +2970,7 @@ exports.controlFlowTransformersModule = new inversify_1.ContainerModule(function "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -3004,7 +3026,7 @@ exports.nodeTransformersModule = new inversify_1.ContainerModule(function (bind) var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var ObfuscationReplacers_1 = __webpack_require__(147); +var ObfuscationReplacers_1 = __webpack_require__(22); var BooleanLiteralReplacer_1 = __webpack_require__(102); var IdentifierReplacer_1 = __webpack_require__(103); var NumberLiteralReplacer_1 = __webpack_require__(104); @@ -3034,7 +3056,7 @@ exports.obfuscatingTransformersModule = new inversify_1.ContainerModule(function "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -3167,7 +3189,7 @@ exports.ConsoleOutputDisableExpressionNode = ConsoleOutputDisableExpressionNode; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -3197,7 +3219,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var Initializable_1 = __webpack_require__(10); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ObfuscationEvents_1 = __webpack_require__(21); var AbstractCustomNodeGroup_1 = __webpack_require__(25); var NodeAppender_1 = __webpack_require__(24); @@ -3960,7 +3982,7 @@ exports.DebugProtectionFunctionNode = DebugProtectionFunctionNode; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -3990,7 +4012,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var Initializable_1 = __webpack_require__(10); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ObfuscationEvents_1 = __webpack_require__(21); var AbstractCustomNodeGroup_1 = __webpack_require__(25); var NodeAppender_1 = __webpack_require__(24); @@ -4143,7 +4165,7 @@ exports.DomainLockNode = DomainLockNode; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -4173,7 +4195,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var Initializable_1 = __webpack_require__(10); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ObfuscationEvents_1 = __webpack_require__(21); var AbstractCustomNodeGroup_1 = __webpack_require__(25); var NodeAppender_1 = __webpack_require__(24); @@ -4390,7 +4412,7 @@ exports.SelfDefendingUnicodeNode = SelfDefendingUnicodeNode; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -4420,7 +4442,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var Initializable_1 = __webpack_require__(10); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ObfuscationEvents_1 = __webpack_require__(21); var AbstractCustomNodeGroup_1 = __webpack_require__(25); var NodeAppender_1 = __webpack_require__(24); @@ -4776,7 +4798,7 @@ exports.StringArrayRotateFunctionNode = StringArrayRotateFunctionNode; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -4806,7 +4828,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var Initializable_1 = __webpack_require__(10); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ObfuscationEvents_1 = __webpack_require__(21); var AbstractCustomNodeGroup_1 = __webpack_require__(25); var NodeAppender_1 = __webpack_require__(24); @@ -4919,7 +4941,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); -var events_1 = __webpack_require__(141); +var events_1 = __webpack_require__(140); inversify_1.decorate(inversify_1.injectable(), events_1.EventEmitter); var ObfuscationEventEmitter = function (_events_1$EventEmitte) { (0, _inherits3.default)(ObfuscationEventEmitter, _events_1$EventEmitte); @@ -4952,8 +4974,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodes_1 = __webpack_require__(15); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var CustomNodes_1 = __webpack_require__(14); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var RandomGeneratorUtils_1 = __webpack_require__(9); var Utils_1 = __webpack_require__(13); @@ -5037,12 +5059,12 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var NodeAppender_1 = __webpack_require__(24); -var ControlFlowReplacers_1 = __webpack_require__(148); +var ControlFlowReplacers_1 = __webpack_require__(38); var NodeUtils_1 = __webpack_require__(8); var RandomGeneratorUtils_1 = __webpack_require__(9); var FunctionControlFlowTransformer = FunctionControlFlowTransformer_1 = function (_AbstractNodeTransfor) { @@ -5194,7 +5216,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(42); var BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer_1 = function (_ExpressionWithOperat) { (0, _inherits3.default)(BinaryExpressionControlFlowReplacer, _ExpressionWithOperat); @@ -5253,7 +5275,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var AbstractControlFlowReplacer_1 = __webpack_require__(41); var Node_1 = __webpack_require__(11); var CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer_1 = function (_AbstractControlFlowR) { @@ -5329,7 +5351,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodes_1 = __webpack_require__(15); +var CustomNodes_1 = __webpack_require__(14); var ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(42); var Node_1 = __webpack_require__(11); var NodeUtils_1 = __webpack_require__(8); @@ -5393,7 +5415,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var MemberExpressionTransformer = function (_AbstractNodeTransfor) { _inherits(MemberExpressionTransformer, _AbstractNodeTransfor); @@ -5459,7 +5481,7 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var MethodDefinitionTransformer = MethodDefinitionTransformer_1 = function (_AbstractNodeTransfor) { _inherits(MethodDefinitionTransformer, _AbstractNodeTransfor); @@ -5525,7 +5547,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var Nodes_1 = __webpack_require__(20); var TemplateLiteralTransformer = TemplateLiteralTransformer_1 = function (_AbstractNodeTransfor) { @@ -5616,8 +5638,8 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var ObfuscationReplacers_1 = __webpack_require__(147); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var ObfuscationReplacers_1 = __webpack_require__(22); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var CatchClauseTransformer = function (_AbstractNodeTransfor) { _inherits(CatchClauseTransformer, _AbstractNodeTransfor); @@ -5702,9 +5724,9 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var ObfuscationReplacers_1 = __webpack_require__(147); +var ObfuscationReplacers_1 = __webpack_require__(22); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var NodeUtils_1 = __webpack_require__(8); var FunctionDeclarationTransformer = function (_AbstractNodeTransfor) { @@ -5810,8 +5832,8 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var ObfuscationReplacers_1 = __webpack_require__(147); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var ObfuscationReplacers_1 = __webpack_require__(22); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var FunctionTransformer = function (_AbstractNodeTransfor) { _inherits(FunctionTransformer, _AbstractNodeTransfor); @@ -5915,8 +5937,8 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var ObfuscationReplacers_1 = __webpack_require__(147); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var ObfuscationReplacers_1 = __webpack_require__(22); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var LabeledStatementTransformer = function (_AbstractNodeTransfor) { _inherits(LabeledStatementTransformer, _AbstractNodeTransfor); @@ -5997,8 +6019,8 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var escodegen = __webpack_require__(26); -var ObfuscationReplacers_1 = __webpack_require__(147); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var ObfuscationReplacers_1 = __webpack_require__(22); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var LiteralTransformer = function (_AbstractNodeTransfor) { _inherits(LiteralTransformer, _AbstractNodeTransfor); @@ -6078,7 +6100,7 @@ var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var escodegen = __webpack_require__(26); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var Utils_1 = __webpack_require__(13); var ObjectExpressionTransformer = ObjectExpressionTransformer_1 = function (_AbstractNodeTransfor) { @@ -6169,9 +6191,9 @@ var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); var estraverse = __webpack_require__(17); -var ObfuscationReplacers_1 = __webpack_require__(147); +var ObfuscationReplacers_1 = __webpack_require__(22); var NodeType_1 = __webpack_require__(19); -var AbstractNodeTransformer_1 = __webpack_require__(16); +var AbstractNodeTransformer_1 = __webpack_require__(15); var Node_1 = __webpack_require__(11); var NodeUtils_1 = __webpack_require__(8); var VariableDeclarationTransformer = function (_AbstractNodeTransfor) { @@ -6392,7 +6414,7 @@ exports.IdentifierReplacer = IdentifierReplacer; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -6588,7 +6610,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); -var class_validator_1 = __webpack_require__(139); +var class_validator_1 = __webpack_require__(138); var Default_1 = __webpack_require__(43); var OptionsNormalizer_1 = __webpack_require__(107); var ValidationErrorsFormatter_1 = __webpack_require__(108); @@ -7463,7 +7485,7 @@ exports.ControlFlowStorage = ControlFlowStorage; "use strict"; -var _map = __webpack_require__(14); +var _map = __webpack_require__(16); var _map2 = _interopRequireDefault(_map); @@ -7492,7 +7514,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var tslib_1 = __webpack_require__(1); var inversify_1 = __webpack_require__(0); var ServiceIdentifiers_1 = __webpack_require__(2); -var CustomNodeGroups_1 = __webpack_require__(38); +var CustomNodeGroups_1 = __webpack_require__(39); var MapStorage_1 = __webpack_require__(44); var RandomGeneratorUtils_1 = __webpack_require__(9); var CustomNodeGroupStorage = CustomNodeGroupStorage_1 = function (_MapStorage_1$MapStor) { @@ -7830,51 +7852,50 @@ module.exports = require("babel-runtime/core-js/object/define-property"); module.exports = require("babel-runtime/core-js/object/get-own-property-descriptor"); /***/ }), -/* 137 */, -/* 138 */ +/* 137 */ /***/ (function(module, exports) { module.exports = require("chance"); /***/ }), -/* 139 */ +/* 138 */ /***/ (function(module, exports) { module.exports = require("class-validator"); /***/ }), -/* 140 */ +/* 139 */ /***/ (function(module, exports) { module.exports = require("commander"); /***/ }), -/* 141 */ +/* 140 */ /***/ (function(module, exports) { module.exports = require("events"); /***/ }), -/* 142 */ +/* 141 */ /***/ (function(module, exports) { module.exports = require("fs"); /***/ }), -/* 143 */ +/* 142 */ /***/ (function(module, exports) { module.exports = require("mkdirp"); /***/ }), -/* 144 */ +/* 143 */ /***/ (function(module, exports) { module.exports = require("reflect-metadata"); /***/ }), -/* 145 */, -/* 146 */ +/* 144 */, +/* 145 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -7883,35 +7904,6 @@ module.exports = require("reflect-metadata"); var JavaScriptObfuscator_1 = __webpack_require__(23); module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator; -/***/ }), -/* 147 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ObfuscationReplacers; -(function (ObfuscationReplacers) { - ObfuscationReplacers[ObfuscationReplacers["BooleanReplacer"] = 0] = "BooleanReplacer"; - ObfuscationReplacers[ObfuscationReplacers["IdentifierReplacer"] = 1] = "IdentifierReplacer"; - ObfuscationReplacers[ObfuscationReplacers["NumberLiteralReplacer"] = 2] = "NumberLiteralReplacer"; - ObfuscationReplacers[ObfuscationReplacers["StringLiteralReplacer"] = 3] = "StringLiteralReplacer"; -})(ObfuscationReplacers = exports.ObfuscationReplacers || (exports.ObfuscationReplacers = {})); - -/***/ }), -/* 148 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ControlFlowReplacers; -(function (ControlFlowReplacers) { - ControlFlowReplacers[ControlFlowReplacers["BinaryExpressionControlFlowReplacer"] = 0] = "BinaryExpressionControlFlowReplacer"; - ControlFlowReplacers[ControlFlowReplacers["CallExpressionControlFlowReplacer"] = 1] = "CallExpressionControlFlowReplacer"; - ControlFlowReplacers[ControlFlowReplacers["LogicalExpressionControlFlowReplacer"] = 2] = "LogicalExpressionControlFlowReplacer"; -})(ControlFlowReplacers = exports.ControlFlowReplacers || (exports.ControlFlowReplacers = {})); - /***/ }) /******/ ]); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/package.json b/package.json index 277bc447..4ae644fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "javascript-obfuscator", - "version": "0.9.0-beta.5", + "version": "0.9.0", "description": "JavaScript obfuscator", "keywords": [ "obfuscator", @@ -29,7 +29,7 @@ "lodash": "4.17.4", "mkdirp": "0.5.1", "reflect-metadata": "0.1.9", - "source-map-support": "0.4.10", + "source-map-support": "0.4.11", "string-template": "1.0.0", "tslib": "1.5.0" }, @@ -41,7 +41,7 @@ "@types/esprima": "2.1.33", "@types/estraverse": "0.0.6", "@types/estree": "0.0.34", - "@types/lodash": "4.14.50", + "@types/lodash": "4.14.51", "@types/mkdirp": "0.3.29", "@types/mocha": "2.2.38", "@types/node": "7.0.4", @@ -58,7 +58,7 @@ "mocha": "3.2.0", "sinon": "2.0.0-pre.4", "ts-node": "2.0.0", - "tslint": "4.4.1", + "tslint": "4.4.2", "tslint-loader": "3.3.0", "typescript": "2.1.5", "webpack": "2.2.0",