diff --git a/index.js b/index.js deleted file mode 100644 index e6ccd2cd..00000000 --- a/index.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -const Obfuscator_1 = require('./src/Obfuscator'); -let escodegen = require('escodegen'), esprima = require('esprima'); -class JavaScriptObfuscator { - static obfuscate(sourceCode, options) { - let astTree = esprima.parse(sourceCode), obfuscator = new Obfuscator_1.Obfuscator(options); - obfuscator.obfuscateNode(astTree); - return JavaScriptObfuscator.generateCode(astTree); - } - static generateCode(astTree) { - return escodegen.generate(astTree, JavaScriptObfuscator.escodegenParams); - } -} -JavaScriptObfuscator.escodegenParams = { - format: {}, - verbatim: 'x-verbatim-property' -}; -exports.JavaScriptObfuscator = JavaScriptObfuscator; -module.exports = JavaScriptObfuscator; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/index.js.map b/index.js.map deleted file mode 100644 index 84451da6..00000000 --- a/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,6BAA2B,kBAAkB,CAAC,CAAA;AAI9C,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjC;IAeI,OAAc,SAAS,CAAE,UAAkB,EAAE,OAAY;QACrD,IAAI,OAAO,GAAQ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EACxC,UAAU,GAAe,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;QAErD,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAElC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAKD,OAAe,YAAY,CAAE,OAAY;QACrC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;AACL,CAAC;AA1BkB,oCAAe,GAAQ;IAClC,MAAM,EAAE,EAEP;IACD,QAAQ,EAAE,qBAAqB;CAClC,CAAC;AATO,4BAAoB,uBA8BhC,CAAA;AAED,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC"} \ No newline at end of file diff --git a/package.json b/package.json index f93b7530..fbd250cb 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", - "start": "concurrent \"npm run tsc:w\" \"npm run lite\" " + "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ", + "postinstall": "tsc" }, "author": { "name": "sanex3339" diff --git a/src/Obfuscator.js b/src/Obfuscator.js deleted file mode 100644 index b3c86fc3..00000000 --- a/src/Obfuscator.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -const AppendState_1 = require('./enums/AppendState'); -const FunctionDeclarationObfuscator_1 = require('./node-obfuscators/FunctionDeclarationObfuscator'); -const FunctionObfuscator_1 = require('./node-obfuscators/FunctionObfuscator'); -const LiteralObfuscator_1 = require('./node-obfuscators/LiteralObfuscator'); -const MemberExpressionObfuscator_1 = require('./node-obfuscators/MemberExpressionObfuscator'); -const MethodDefinitionObfuscator_1 = require('./node-obfuscators/MethodDefinitionObfuscator'); -const ObjectExpressionObfuscator_1 = require('./node-obfuscators/ObjectExpressionObfuscator'); -const UnicodeArrayNode_1 = require('./nodes/UnicodeArrayNode'); -const UnicodeArrayNodesGroup_1 = require('./node-groups/UnicodeArrayNodesGroup'); -const Utils_1 = require('./Utils'); -const VariableDeclarationObfuscator_1 = require('./node-obfuscators/VariableDeclarationObfuscator'); -let estraverse = require('estraverse'); -class Obfuscator { - constructor(options) { - this.nodes = new Map(); - this.nodeObfuscators = new Map([ - ['ClassDeclaration', [FunctionDeclarationObfuscator_1.FunctionDeclarationObfuscator]], - ['FunctionDeclaration', [ - FunctionDeclarationObfuscator_1.FunctionDeclarationObfuscator, - FunctionObfuscator_1.FunctionObfuscator - ]], - ['ArrowFunctionExpression', [FunctionObfuscator_1.FunctionObfuscator]], - ['FunctionExpression', [FunctionObfuscator_1.FunctionObfuscator]], - ['MethodDefinition', [MethodDefinitionObfuscator_1.MethodDefinitionObfuscator]], - ['VariableDeclaration', [VariableDeclarationObfuscator_1.VariableDeclarationObfuscator]], - ['ObjectExpression', [ObjectExpressionObfuscator_1.ObjectExpressionObfuscator]], - ['MemberExpression', [MemberExpressionObfuscator_1.MemberExpressionObfuscator]], - ['Literal', [LiteralObfuscator_1.LiteralObfuscator]] - ]); - this.options = { - rotateUnicodeArray: true - }; - Object.assign(this.options, options); - } - obfuscateNode(node) { - if (this.options['rotateUnicodeArray']) { - this.setNodesGroup('unicodeArrayNodesGroup', new UnicodeArrayNodesGroup_1.UnicodeArrayNodesGroup(node)); - } - else { - this.setNode('unicodeArrayNode', new UnicodeArrayNode_1.UnicodeArrayNode(node, Utils_1.Utils.getRandomVariableName(UnicodeArrayNode_1.UnicodeArrayNode.UNICODE_ARRAY_RANDOM_LENGTH))); - } - this.beforeObfuscation(node); - estraverse.replace(node, { - leave: (node, parent) => this.nodeController(node, parent) - }); - this.afterObfuscation(node); - } - setNode(nodeName, node) { - this.nodes.set(nodeName, node); - } - setNodesGroup(groupName, nodesGroup) { - let nodes = nodesGroup.getNodes(); - nodes.forEach((node, key) => { - this.nodes.set(key, node); - }); - } - afterObfuscation(node) { - this.nodes.forEach((node) => { - if (node.getAppendState() === AppendState_1.AppendState.AfterObfuscation) { - node.appendNode(); - } - }); - } - beforeObfuscation(node) { - this.nodes.forEach((node) => { - if (node.getAppendState() === AppendState_1.AppendState.BeforeObfuscation) { - node.appendNode(); - } - }); - } - ; - nodeController(node, parent) { - switch (node.type) { - default: - this.initializeNodeObfuscators(node, parent); - } - } - initializeNodeObfuscators(node, parent) { - if (!this.nodeObfuscators.has(node.type)) { - return; - } - this.nodeObfuscators.get(node.type).forEach((obfuscator) => { - new obfuscator(this.nodes).obfuscateNode(node, parent); - }); - } -} -exports.Obfuscator = Obfuscator; -//# sourceMappingURL=Obfuscator.js.map \ No newline at end of file diff --git a/src/Obfuscator.js.map b/src/Obfuscator.js.map deleted file mode 100644 index e15d5b0f..00000000 --- a/src/Obfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Obfuscator.js","sourceRoot":"","sources":["Obfuscator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/Utils.js b/src/Utils.js deleted file mode 100644 index 1cadc2b2..00000000 --- a/src/Utils.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -class Utils { - static arrayRotate(array, times, reverse = false) { - if (times < 0) { - return; - } - let newArray = array, temp; - while (times--) { - if (!reverse) { - temp = newArray.pop(); - newArray.unshift(temp); - } - else { - temp = newArray.shift(); - newArray.push(temp); - } - } - return newArray; - } - static decToHex(dec) { - return (dec + Math.pow(16, 6)).toString(16).substr(-6); - } - static getRandomInteger(min, max) { - return Math.floor(Math.random() * (max - min + 1)) + min; - } - static getRandomVariableName(length = 6) { - const prefix = '_0x'; - return `${prefix}${(Utils.decToHex(Utils.getRandomInteger(10000, 9999999))).substr(0, length)}`; - } - static stringToUnicode(string) { - return `'${string.replace(/[\s\S]/g, (escape) => { - return `\\u${('0000' + escape.charCodeAt(0).toString(16)).slice(-4)}`; - })}'`; - } -} -exports.Utils = Utils; -//# sourceMappingURL=Utils.js.map \ No newline at end of file diff --git a/src/Utils.js.map b/src/Utils.js.map deleted file mode 100644 index 003b3628..00000000 --- a/src/Utils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":";AAAA;IAOI,OAAc,WAAW,CAAE,KAAY,EAAE,KAAa,EAAE,OAAO,GAAY,KAAK;QAC5E,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC;QACX,CAAC;QAED,IAAI,QAAQ,GAAU,KAAK,EACvB,IAAS,CAAC;QAEd,OAAO,KAAK,EAAE,EAAE,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC;IACpB,CAAC;IAMD,OAAc,QAAQ,CAAC,GAAW;QAC9B,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAOD,OAAc,gBAAgB,CAAC,GAAW,EAAE,GAAW;QACnD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC7D,CAAC;IAMD,OAAc,qBAAqB,CAAE,MAAM,GAAW,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC;QAErB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IACpG,CAAC;IAMD,OAAc,eAAe,CAAE,MAAc;QACzC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC,CAAC,GAAG,CAAC;IACV,CAAC;AACL,CAAC;AAhEY,aAAK,QAgEjB,CAAA"} \ No newline at end of file diff --git a/src/enums/AppendState.js b/src/enums/AppendState.js deleted file mode 100644 index debe74a3..00000000 --- a/src/enums/AppendState.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -(function (AppendState) { - AppendState[AppendState["BeforeObfuscation"] = 0] = "BeforeObfuscation"; - AppendState[AppendState["AfterObfuscation"] = 1] = "AfterObfuscation"; -})(exports.AppendState || (exports.AppendState = {})); -var AppendState = exports.AppendState; -//# sourceMappingURL=AppendState.js.map \ No newline at end of file diff --git a/src/enums/AppendState.js.map b/src/enums/AppendState.js.map deleted file mode 100644 index f959cb1b..00000000 --- a/src/enums/AppendState.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AppendState.js","sourceRoot":"","sources":["AppendState.ts"],"names":[],"mappings":";AAAA,WAAY,WAAW;IAAE,uEAAiB,CAAA;IAAE,qEAAgB,CAAA;AAAA,CAAC,EAAjD,mBAAW,KAAX,mBAAW,QAAsC;AAA7D,IAAY,WAAW,GAAX,mBAAiD,CAAA"} \ No newline at end of file diff --git a/src/interfaces/INode.js b/src/interfaces/INode.js deleted file mode 100644 index 7b4f01d1..00000000 --- a/src/interfaces/INode.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=INode.js.map \ No newline at end of file diff --git a/src/interfaces/INode.js.map b/src/interfaces/INode.js.map deleted file mode 100644 index af51676d..00000000 --- a/src/interfaces/INode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"INode.js","sourceRoot":"","sources":["INode.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/interfaces/INodeObfuscator.js b/src/interfaces/INodeObfuscator.js deleted file mode 100644 index c8210376..00000000 --- a/src/interfaces/INodeObfuscator.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=INodeObfuscator.js.map \ No newline at end of file diff --git a/src/interfaces/INodeObfuscator.js.map b/src/interfaces/INodeObfuscator.js.map deleted file mode 100644 index 6eb24e18..00000000 --- a/src/interfaces/INodeObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"INodeObfuscator.js","sourceRoot":"","sources":["INodeObfuscator.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/interfaces/INodesGroup.js b/src/interfaces/INodesGroup.js deleted file mode 100644 index bb149a22..00000000 --- a/src/interfaces/INodesGroup.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=INodesGroup.js.map \ No newline at end of file diff --git a/src/interfaces/INodesGroup.js.map b/src/interfaces/INodesGroup.js.map deleted file mode 100644 index aa1763ea..00000000 --- a/src/interfaces/INodesGroup.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"INodesGroup.js","sourceRoot":"","sources":["INodesGroup.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/node-groups/NodesGroup.js b/src/node-groups/NodesGroup.js deleted file mode 100644 index 76fd38f4..00000000 --- a/src/node-groups/NodesGroup.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -class NodesGroup { - getNodes() { - return this.nodes; - } -} -exports.NodesGroup = NodesGroup; -//# sourceMappingURL=NodesGroup.js.map \ No newline at end of file diff --git a/src/node-groups/NodesGroup.js.map b/src/node-groups/NodesGroup.js.map deleted file mode 100644 index 310db545..00000000 --- a/src/node-groups/NodesGroup.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NodesGroup.js","sourceRoot":"","sources":["NodesGroup.ts"],"names":[],"mappings":";AAIA;IASW,QAAQ;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;AACL,CAAC;AAZqB,kBAAU,aAY/B,CAAA"} \ No newline at end of file diff --git a/src/node-groups/UnicodeArrayNodesGroup.js b/src/node-groups/UnicodeArrayNodesGroup.js deleted file mode 100644 index 9fa552ac..00000000 --- a/src/node-groups/UnicodeArrayNodesGroup.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -const NodesGroup_1 = require('./NodesGroup'); -const UnicodeArrayNode_1 = require('../nodes/UnicodeArrayNode'); -const UnicodeArrayRotateFunctionCallNode_1 = require('../nodes/UnicodeArrayRotateFunctionCallNode'); -const UnicodeArrayRotateFunctionNode_1 = require('../nodes/UnicodeArrayRotateFunctionNode'); -const Utils_1 = require('../Utils'); -class UnicodeArrayNodesGroup extends NodesGroup_1.NodesGroup { - constructor(astTree) { - super(); - this.unicodeArrayRotateFunctionIdentifier = Utils_1.Utils.getRandomVariableName(); - let unicodeArrayName = Utils_1.Utils.getRandomVariableName(UnicodeArrayNode_1.UnicodeArrayNode.UNICODE_ARRAY_RANDOM_LENGTH), unicodeArrayRotateValue = Utils_1.Utils.getRandomInteger(100, 500); - this.nodes = new Map([ - [ - 'unicodeArrayNode', - new UnicodeArrayNode_1.UnicodeArrayNode(astTree, unicodeArrayName, unicodeArrayRotateValue) - ], - [ - 'unicodeArrayRotateFunctionNode', - new UnicodeArrayRotateFunctionNode_1.UnicodeArrayRotateFunctionNode(astTree, this.unicodeArrayRotateFunctionIdentifier, unicodeArrayName) - ], - [ - 'unicodeArrayRotateFunctionCallNode', - new UnicodeArrayRotateFunctionCallNode_1.UnicodeArrayRotateFunctionCallNode(astTree, this.unicodeArrayRotateFunctionIdentifier, unicodeArrayName, unicodeArrayRotateValue) - ] - ]); - } -} -exports.UnicodeArrayNodesGroup = UnicodeArrayNodesGroup; -//# sourceMappingURL=UnicodeArrayNodesGroup.js.map \ No newline at end of file diff --git a/src/node-groups/UnicodeArrayNodesGroup.js.map b/src/node-groups/UnicodeArrayNodesGroup.js.map deleted file mode 100644 index d5973bf5..00000000 --- a/src/node-groups/UnicodeArrayNodesGroup.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UnicodeArrayNodesGroup.js","sourceRoot":"","sources":["UnicodeArrayNodesGroup.ts"],"names":[],"mappings":";AAEA,6BAA2B,cAAc,CAAC,CAAA;AAC1C,mCAAiC,2BAA2B,CAAC,CAAA;AAC7D,qDAAmD,6CAA6C,CAAC,CAAA;AACjG,iDAA+C,yCAAyC,CAAC,CAAA;AACzF,wBAAsB,UAAU,CAAC,CAAA;AAEjC,qCAA4C,uBAAU;IASlD,YAAa,OAAY;QACrB,OAAO,CAAC;QANJ,yCAAoC,GAAW,aAAK,CAAC,qBAAqB,EAAE,CAAC;QAQjF,IAAI,gBAAgB,GAAW,aAAK,CAAC,qBAAqB,CAAC,mCAAgB,CAAC,2BAA2B,CAAC,EACpG,uBAAuB,GAAW,aAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAkB;YAClC;gBACI,kBAAkB;gBAClB,IAAI,mCAAgB,CAChB,OAAO,EACP,gBAAgB,EAChB,uBAAuB,CAC1B;aACJ;YACD;gBACI,gCAAgC;gBAChC,IAAI,+DAA8B,CAC9B,OAAO,EACP,IAAI,CAAC,oCAAoC,EACzC,gBAAgB,CACnB;aACJ;YACD;gBACI,oCAAoC;gBACpC,IAAI,uEAAkC,CAClC,OAAO,EACP,IAAI,CAAC,oCAAoC,EACzC,gBAAgB,EAChB,uBAAuB,CAC1B;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AA3CY,8BAAsB,yBA2ClC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/FunctionDeclarationObfuscator.js b/src/node-obfuscators/FunctionDeclarationObfuscator.js deleted file mode 100644 index 24c523d0..00000000 --- a/src/node-obfuscators/FunctionDeclarationObfuscator.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -const Utils_1 = require('../Utils'); -let estraverse = require('estraverse'); -class FunctionDeclarationObfuscator extends NodeObfuscator_1.NodeObfuscator { - constructor(...args) { - super(...args); - this.functionName = new Map(); - } - obfuscateNode(functionDeclarationNode, parentNode) { - if (parentNode.type === 'Program') { - return; - } - this.replaceFunctionName(functionDeclarationNode); - this.replaceFunctionCalls(parentNode); - } - replaceFunctionName(functionDeclarationNode) { - estraverse.replace(functionDeclarationNode.id, { - leave: (node) => { - if (node.type !== 'Identifier') { - return; - } - this.functionName.set(node.name, Utils_1.Utils.getRandomVariableName()); - node.name = this.functionName.get(node.name); - } - }); - } - replaceFunctionCalls(functionParentNode) { - estraverse.replace(functionParentNode, { - leave: (node, parentNode) => { - this.replaceNodeIdentifierByNewValue(node, parentNode, this.functionName); - } - }); - } -} -exports.FunctionDeclarationObfuscator = FunctionDeclarationObfuscator; -//# sourceMappingURL=FunctionDeclarationObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/FunctionDeclarationObfuscator.js.map b/src/node-obfuscators/FunctionDeclarationObfuscator.js.map deleted file mode 100644 index 0b01989a..00000000 --- a/src/node-obfuscators/FunctionDeclarationObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FunctionDeclarationObfuscator.js","sourceRoot":"","sources":["FunctionDeclarationObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAAkB,CAAC,CAAA;AAClD,wBAAsB,UAAU,CAAC,CAAA;AAEjC,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAWvC,4CAAmD,+BAAc;IAAjE;QAAmD,eAAc;QAIrD,iBAAY,GAAyB,IAAI,GAAG,EAAoB,CAAC;IAyC7E,CAAC;IAnCU,aAAa,CAAE,uBAA4B,EAAE,UAAe;QAC/D,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAKO,mBAAmB,CAAE,uBAA4B;QACrD,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE;YAC3C,KAAK,EAAE,CAAC,IAAI;gBACR,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC;gBACX,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAKO,oBAAoB,CAAE,kBAAuB;QACjD,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACnC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;gBACpB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9E,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AA7CY,qCAA6B,gCA6CzC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/FunctionObfuscator.js b/src/node-obfuscators/FunctionObfuscator.js deleted file mode 100644 index be2b4155..00000000 --- a/src/node-obfuscators/FunctionObfuscator.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -const Utils_1 = require('../Utils'); -let estraverse = require('estraverse'); -class FunctionObfuscator extends NodeObfuscator_1.NodeObfuscator { - constructor(...args) { - super(...args); - this.functionParams = new Map(); - } - obfuscateNode(functionNode) { - this.replaceFunctionParams(functionNode); - this.replaceFunctionParamsInBody(functionNode); - } - replaceFunctionParams(functionNode) { - functionNode.params.forEach((paramsNode) => { - estraverse.replace(paramsNode, { - leave: (node, parentNode) => { - if (node.type !== 'Identifier') { - return; - } - this.functionParams.set(node.name, Utils_1.Utils.getRandomVariableName()); - node.name = this.functionParams.get(node.name); - } - }); - }); - } - replaceFunctionParamsInBody(functionNode) { - estraverse.replace(functionNode.body, { - leave: (node, parentNode) => { - this.replaceNodeIdentifierByNewValue(node, parentNode, this.functionParams); - } - }); - } -} -exports.FunctionObfuscator = FunctionObfuscator; -//# sourceMappingURL=FunctionObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/FunctionObfuscator.js.map b/src/node-obfuscators/FunctionObfuscator.js.map deleted file mode 100644 index 7f32952d..00000000 --- a/src/node-obfuscators/FunctionObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FunctionObfuscator.js","sourceRoot":"","sources":["FunctionObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAAkB,CAAC,CAAA;AAClD,wBAAsB,UAAU,CAAC,CAAA;AAEjC,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAUvC,iCAAwC,+BAAc;IAAtD;QAAwC,eAAc;QAI1C,mBAAc,GAAyB,IAAI,GAAG,EAAoB,CAAC;IAsC/E,CAAC;IAjCU,aAAa,CAAE,YAAiB;QACnC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAKO,qBAAqB,CAAE,YAAiB;QAC5C,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU;YACnC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;oBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;wBAC9B,MAAM,CAAC;oBACV,CAAC;oBAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;oBAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAKO,2BAA2B,CAAE,YAAiB;QAClD,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE;YAClC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;gBACpB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAChF,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AA1CY,0BAAkB,qBA0C9B,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/LiteralObfuscator.js b/src/node-obfuscators/LiteralObfuscator.js deleted file mode 100644 index fd4fc1e3..00000000 --- a/src/node-obfuscators/LiteralObfuscator.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -let escodegen = require('escodegen'), estraverse = require('estraverse'); -class LiteralObfuscator extends NodeObfuscator_1.NodeObfuscator { - obfuscateNode(literalNode, parentNode) { - if (parentNode.type === 'Property' && parentNode.key === literalNode) { - return; - } - switch (typeof literalNode.value) { - case 'string': - if (literalNode['x-verbatim-property']) { - break; - } - literalNode['x-verbatim-property'] = { - content: this.replaceLiteralStringByArrayElement(literalNode.value), - precedence: escodegen.Precedence.Primary - }; - break; - } - } -} -exports.LiteralObfuscator = LiteralObfuscator; -//# sourceMappingURL=LiteralObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/LiteralObfuscator.js.map b/src/node-obfuscators/LiteralObfuscator.js.map deleted file mode 100644 index ffa02a5e..00000000 --- a/src/node-obfuscators/LiteralObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LiteralObfuscator.js","sourceRoot":"","sources":["LiteralObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAE/B,CAAC,CAFgD;AAEjD,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAChC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvC,gCAAuC,+BAAc;IAK1C,aAAa,CAAE,WAAgB,EAAE,UAAe;QACnD,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC;QACX,CAAC;QAED,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,KAAK,QAAQ;gBACT,EAAE,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBACrC,KAAK,CAAC;gBACV,CAAC;gBAED,WAAW,CAAC,qBAAqB,CAAC,GAAG;oBACjC,OAAO,EAAG,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,KAAK,CAAC;oBACpE,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO;iBAC3C,CAAC;gBAEF,KAAK,CAAC;QACd,CAAC;IACL,CAAC;AACL,CAAC;AAxBY,yBAAiB,oBAwB7B,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/MemberExpressionObfuscator.js b/src/node-obfuscators/MemberExpressionObfuscator.js deleted file mode 100644 index 54986032..00000000 --- a/src/node-obfuscators/MemberExpressionObfuscator.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -let escodegen = require('escodegen'), estraverse = require('estraverse'); -class MemberExpressionObfuscator extends NodeObfuscator_1.NodeObfuscator { - obfuscateNode(memberExpressionNode) { - estraverse.replace(memberExpressionNode.property, { - leave: (node, parentNode) => { - switch (node.type) { - case 'Literal': - this.literalNodeController(node); - break; - case 'Identifier': - if (memberExpressionNode.computed) { - break; - } - memberExpressionNode.computed = true; - this.identifierNodeController(node); - break; - } - } - }); - } - identifierNodeController(node) { - let nodeValue = node['name']; - node['type'] = 'Literal'; - node['value'] = nodeValue; - node['raw'] = `'${nodeValue}'`; - node['x-verbatim-property'] = { - content: this.replaceLiteralStringByArrayElement(nodeValue), - precedence: escodegen['Precedence']['Primary'] - }; - delete node['name']; - } - literalNodeController(node) { - switch (typeof node.value) { - case 'string': - if (node['x-verbatim-property']) { - break; - } - node['x-verbatim-property'] = { - content: this.replaceLiteralStringByArrayElement(node.value), - precedence: escodegen['Precedence']['Primary'] - }; - break; - } - } -} -exports.MemberExpressionObfuscator = MemberExpressionObfuscator; -//# sourceMappingURL=MemberExpressionObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/MemberExpressionObfuscator.js.map b/src/node-obfuscators/MemberExpressionObfuscator.js.map deleted file mode 100644 index 1d85efa5..00000000 --- a/src/node-obfuscators/MemberExpressionObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MemberExpressionObfuscator.js","sourceRoot":"","sources":["MemberExpressionObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAE/B,CAAC,CAFgD;AAEjD,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAChC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvC,yCAAgD,+BAAc;IAInD,aAAa,CAAE,oBAAyB;QAC3C,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YAC9C,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;gBACpB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,KAAK,SAAS;wBACV,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBAEjC,KAAK,CAAC;oBAEV,KAAK,YAAY;wBACb,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAChC,KAAK,CAAC;wBACV,CAAC;wBAED,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;wBAEpC,KAAK,CAAC;gBACd,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAcO,wBAAwB,CAAE,IAAS;QACvC,IAAI,SAAS,GAAW,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,GAAG,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,GAAG;YAC1B,OAAO,EAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC;YAC5D,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;SACjD,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAWO,qBAAqB,CAAE,IAAS;QACpC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,KAAK,QAAQ;gBACT,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAC9B,KAAK,CAAC;gBACV,CAAC;gBAED,IAAI,CAAC,qBAAqB,CAAC,GAAG;oBAC1B,OAAO,EAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC7D,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;iBACjD,CAAC;gBAEF,KAAK,CAAC;QACd,CAAC;IACL,CAAC;AACL,CAAC;AA7EY,kCAA0B,6BA6EtC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/MethodDefinitionObfuscator.js b/src/node-obfuscators/MethodDefinitionObfuscator.js deleted file mode 100644 index 2a0a4b97..00000000 --- a/src/node-obfuscators/MethodDefinitionObfuscator.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -let estraverse = require('estraverse'); -class MethodDefinitionObfuscator extends NodeObfuscator_1.NodeObfuscator { - constructor(...args) { - super(...args); - this.methodName = new Map(); - this.ignoredNames = ['constructor']; - } - obfuscateNode(methodDefinitionNode, parentNode) { - this.replaceMethodName(methodDefinitionNode); - } - replaceMethodName(methodDefinitionNode) { - estraverse.replace(methodDefinitionNode.key, { - leave: (node) => { - if (node.type !== 'Identifier' || - this.ignoredNames.indexOf(node.name) >= 0 || - methodDefinitionNode.computed === true) { - return; - } - methodDefinitionNode.computed = true; - node.name = this.replaceLiteralStringByArrayElement(node.name); - } - }); - } -} -exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator; -//# sourceMappingURL=MethodDefinitionObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/MethodDefinitionObfuscator.js.map b/src/node-obfuscators/MethodDefinitionObfuscator.js.map deleted file mode 100644 index 721e05ec..00000000 --- a/src/node-obfuscators/MethodDefinitionObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MethodDefinitionObfuscator.js","sourceRoot":"","sources":["MethodDefinitionObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAAkB,CAAC,CAAA;AAGlD,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAWvC,yCAAgD,+BAAc;IAA9D;QAAgD,eAAc;QAIlD,eAAU,GAAyB,IAAI,GAAG,EAAoB,CAAC;QAK/D,iBAAY,GAAa,CAAC,aAAa,CAAC,CAAC;IA6BrD,CAAC;IAvBU,aAAa,CAAE,oBAAyB,EAAE,UAAe;QAC5D,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAKO,iBAAiB,CAAE,oBAAyB;QAChD,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACzC,KAAK,EAAE,CAAC,IAAI;gBACR,EAAE,CAAC,CACC,IAAI,CAAC,IAAI,KAAK,YAAY;oBAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzC,oBAAoB,CAAC,QAAQ,KAAK,IACtC,CAAC,CAAC,CAAC;oBACC,MAAM,CAAC;gBACX,CAAC;gBAED,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAtCY,kCAA0B,6BAsCtC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/NodeObfuscator.js b/src/node-obfuscators/NodeObfuscator.js deleted file mode 100644 index 8f517528..00000000 --- a/src/node-obfuscators/NodeObfuscator.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -const Utils_1 = require('../Utils'); -class NodeObfuscator { - constructor(nodes) { - this.nodes = nodes; - } - replaceNodeIdentifierByNewValue(node, parentNode, namesMap) { - if (node.type === 'Identifier' && namesMap.has(node.name)) { - if ((parentNode.type === 'Property' && parentNode.key === node) || - (parentNode.type === 'MemberExpression' && parentNode.computed === false && parentNode.property === node)) { - return; - } - node.name = namesMap.get(node.name); - } - } - replaceLiteralStringByArrayElement(nodeValue) { - let value = Utils_1.Utils.stringToUnicode(nodeValue), unicodeArray = this.nodes.get('unicodeArrayNode').getNodeData(), sameIndex = unicodeArray.indexOf(value), index; - if (sameIndex < 0) { - index = unicodeArray.length; - unicodeArray.push(Utils_1.Utils.stringToUnicode(nodeValue)); - } - else { - index = sameIndex; - } - return `${this.nodes.get('unicodeArrayNode').getNodeIdentifier()}[${index}]`; - } -} -exports.NodeObfuscator = NodeObfuscator; -//# sourceMappingURL=NodeObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/NodeObfuscator.js.map b/src/node-obfuscators/NodeObfuscator.js.map deleted file mode 100644 index 9ac6a017..00000000 --- a/src/node-obfuscators/NodeObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NodeObfuscator.js","sourceRoot":"","sources":["NodeObfuscator.ts"],"names":[],"mappings":";AAIA,wBAAsB,UAAU,CAAC,CAAA;AAEjC;IASI,YAAY,KAA0B;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAaS,+BAA+B,CAAE,IAAS,EAAE,UAAe,EAAE,QAA8B;QACjG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,EAAE,CAAC,CACC,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC;gBAC3D,CAAC,UAAU,CAAC,IAAI,KAAK,kBAAkB,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,CAC5G,CAAC,CAAC,CAAC;gBACC,MAAM,CAAC;YACX,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAMS,kCAAkC,CAAE,SAAiB;QAC3D,IAAI,KAAK,GAAW,aAAK,CAAC,eAAe,CAAC,SAAS,CAAC,EAChD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,EAC/D,SAAS,GAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/C,KAAa,CAAC;QAElB,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,aAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,KAAK,GAAG,SAAS,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,EAAE,IAAI,KAAK,GAAG,CAAC;IACjF,CAAC;AACL,CAAC;AAxDqB,sBAAc,iBAwDnC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/ObjectExpressionObfuscator.js b/src/node-obfuscators/ObjectExpressionObfuscator.js deleted file mode 100644 index 29e1e8c2..00000000 --- a/src/node-obfuscators/ObjectExpressionObfuscator.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -const Utils_1 = require('../Utils'); -let escodegen = require('escodegen'), estraverse = require('estraverse'); -class ObjectExpressionObfuscator extends NodeObfuscator_1.NodeObfuscator { - obfuscateNode(objectExpressionNode) { - objectExpressionNode.properties.forEach((property) => { - estraverse.replace(property.key, { - leave: (node, parentNode) => { - switch (node.type) { - case 'Literal': - this.literalNodeController(node); - break; - case 'Identifier': - this.identifierNodeController(node); - break; - } - } - }); - }); - } - literalNodeController(node) { - switch (typeof node.value) { - case 'string': - if (node['x-verbatim-property']) { - break; - } - node['x-verbatim-property'] = { - content: Utils_1.Utils.stringToUnicode(node.value), - precedence: escodegen['Precedence']['Primary'] - }; - break; - } - } - identifierNodeController(node) { - let nodeValue = node['name']; - node['type'] = 'Literal'; - node['value'] = nodeValue; - node['raw'] = `'${nodeValue}'`; - node['x-verbatim-property'] = { - content: Utils_1.Utils.stringToUnicode(nodeValue), - precedence: escodegen['Precedence']['Primary'] - }; - delete node['name']; - } -} -exports.ObjectExpressionObfuscator = ObjectExpressionObfuscator; -//# sourceMappingURL=ObjectExpressionObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/ObjectExpressionObfuscator.js.map b/src/node-obfuscators/ObjectExpressionObfuscator.js.map deleted file mode 100644 index f8b8722c..00000000 --- a/src/node-obfuscators/ObjectExpressionObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ObjectExpressionObfuscator.js","sourceRoot":"","sources":["ObjectExpressionObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAC/B,CAAC,CADgD;AACjD,wBAAsB,UAAU,CAAC,CAAA;AAEjC,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAChC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAYvC,yCAAgD,+BAAc;IAInD,aAAa,CAAE,oBAAyB;QAC3C,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ;YAC7C,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAC7B,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;oBACpB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChB,KAAK,SAAS;4BACV,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;4BAEjC,KAAK,CAAC;wBAEV,KAAK,YAAY;4BACb,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;4BAEpC,KAAK,CAAC;oBACd,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAKO,qBAAqB,CAAE,IAAS;QACpC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,KAAK,QAAQ;gBACT,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAC9B,KAAK,CAAC;gBACV,CAAC;gBAED,IAAI,CAAC,qBAAqB,CAAC,GAAG;oBAC1B,OAAO,EAAG,aAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3C,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;iBACjD,CAAC;gBAEF,KAAK,CAAC;QACd,CAAC;IACL,CAAC;IAKO,wBAAwB,CAAE,IAAS;QACvC,IAAI,SAAS,GAAW,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,GAAG,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,GAAG;YAC1B,OAAO,EAAG,aAAK,CAAC,eAAe,CAAC,SAAS,CAAC;YAC1C,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;SACjD,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AA3DY,kCAA0B,6BA2DtC,CAAA"} \ No newline at end of file diff --git a/src/node-obfuscators/VariableDeclarationObfuscator.js b/src/node-obfuscators/VariableDeclarationObfuscator.js deleted file mode 100644 index 6adc67e9..00000000 --- a/src/node-obfuscators/VariableDeclarationObfuscator.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -const NodeObfuscator_1 = require('./NodeObfuscator'); -const Utils_1 = require('../Utils'); -let estraverse = require('estraverse'); -class VariableDeclarationObfuscator extends NodeObfuscator_1.NodeObfuscator { - constructor(...args) { - super(...args); - this.variableName = new Map(); - } - obfuscateNode(variableDeclarationNode, parentNode) { - if (parentNode.type === 'Program') { - return; - } - this.replaceVariableName(variableDeclarationNode); - this.replaceVariableCalls(parentNode); - } - replaceVariableName(variableDeclarationNode) { - variableDeclarationNode.declarations.forEach((declarationNode) => { - estraverse.replace(declarationNode, { - leave: (node) => { - if (node.type !== 'VariableDeclarator') { - return; - } - estraverse.replace(node.id, { - leave: (node) => { - this.variableName.set(node.name, Utils_1.Utils.getRandomVariableName()); - node.name = this.variableName.get(node.name); - } - }); - } - }); - }); - } - replaceVariableCalls(variableParentNode) { - estraverse.replace(variableParentNode, { - leave: (node, parentNode) => { - this.replaceNodeIdentifierByNewValue(node, parentNode, this.variableName); - } - }); - } -} -exports.VariableDeclarationObfuscator = VariableDeclarationObfuscator; -//# sourceMappingURL=VariableDeclarationObfuscator.js.map \ No newline at end of file diff --git a/src/node-obfuscators/VariableDeclarationObfuscator.js.map b/src/node-obfuscators/VariableDeclarationObfuscator.js.map deleted file mode 100644 index 092937eb..00000000 --- a/src/node-obfuscators/VariableDeclarationObfuscator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VariableDeclarationObfuscator.js","sourceRoot":"","sources":["VariableDeclarationObfuscator.ts"],"names":[],"mappings":";AAAA,iCAA+B,kBAAkB,CAAC,CAAA;AAClD,wBAAsB,UAAU,CAAC,CAAA;AAEjC,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAYvC,4CAAmD,+BAAc;IAAjE;QAAmD,eAAc;QAIrD,iBAAY,GAAyB,IAAI,GAAG,EAAoB,CAAC;IA+C7E,CAAC;IAzCU,aAAa,CAAE,uBAA4B,EAAE,UAAe;QAC/D,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAKO,mBAAmB,CAAE,uBAA4B;QACrD,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,eAAe;YACzD,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE;gBAChC,KAAK,EAAE,CAAC,IAAI;oBACR,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBACrC,MAAM,CAAC;oBACX,CAAC;oBAED,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;wBACxB,KAAK,EAAE,CAAC,IAAI;4BACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjD,CAAC;qBACJ,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAKO,oBAAoB,CAAE,kBAAuB;QACjD,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACnC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU;gBACpB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9E,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAnDY,qCAA6B,gCAmDzC,CAAA"} \ No newline at end of file diff --git a/src/nodes/Node.js b/src/nodes/Node.js deleted file mode 100644 index 8fbba11e..00000000 --- a/src/nodes/Node.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -const AppendState_1 = require('../enums/AppendState'); -class Node { - constructor() { - this.appendState = AppendState_1.AppendState.BeforeObfuscation; - } - getAppendState() { - return this.appendState; - } - getNode() { - return this.node; - } - setNode(node) { - this.node = node; - } - updateNode() { - this.node = this.getNodeStructure(); - } -} -exports.Node = Node; -//# sourceMappingURL=Node.js.map \ No newline at end of file diff --git a/src/nodes/Node.js.map b/src/nodes/Node.js.map deleted file mode 100644 index ccb6d7d2..00000000 --- a/src/nodes/Node.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Node.js","sourceRoot":"","sources":["Node.ts"],"names":[],"mappings":";AAEA,8BAA4B,sBAAsB,CAAC,CAAA;AAEnD;IAWI;QAPU,gBAAW,GAAgB,yBAAW,CAAC,iBAAiB,CAAC;IAOnD,CAAC;IAOV,cAAc;QACjB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAKM,OAAO;QACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAKM,OAAO,CAAE,IAAS;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;AAML,CAAC;AA5CqB,YAAI,OA4CzB,CAAA"} \ No newline at end of file diff --git a/src/nodes/UnicodeArrayNode.js b/src/nodes/UnicodeArrayNode.js deleted file mode 100644 index 667878cf..00000000 --- a/src/nodes/UnicodeArrayNode.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -const Node_1 = require('./Node'); -const Utils_1 = require('../Utils'); -const AppendState_1 = require('../enums/AppendState'); -let escodegen = require('escodegen'), estraverse = require('estraverse'); -class UnicodeArrayNode extends Node_1.Node { - constructor(astTree, unicodeArrayName, unicodeArrayRotateValue = 0) { - super(); - this.appendState = AppendState_1.AppendState.AfterObfuscation; - this.unicodeArray = []; - this.astTree = astTree; - this.unicodeArrayName = unicodeArrayName; - this.unicodeArrayRotateValue = unicodeArrayRotateValue; - this.node = this.getNodeStructure(); - } - appendNode() { - estraverse.replace(this.astTree, { - leave: (node, parent) => { - switch (node.type) { - case 'Program': - node.body.unshift(this.getNode()); - break; - } - } - }); - } - getNodeIdentifier() { - return this.unicodeArrayName; - } - getNodeData() { - return this.unicodeArray; - } - getNode() { - Utils_1.Utils.arrayRotate(this.unicodeArray, this.unicodeArrayRotateValue); - this.updateNode(); - return this.node; - } - getNodeStructure() { - return { - 'type': 'VariableDeclaration', - 'declarations': [ - { - 'type': 'VariableDeclarator', - 'id': { - 'type': 'Identifier', - 'name': this.unicodeArrayName - }, - 'init': { - 'type': 'ArrayExpression', - 'elements': this.unicodeArray.map((value) => { - return { - 'type': 'Literal', - 'value': value, - 'raw': `'${value}'`, - 'x-verbatim-property': { - 'content': value, - precedence: escodegen.Precedence.Primary - } - }; - }) - } - } - ], - 'kind': 'var' - }; - } -} -UnicodeArrayNode.UNICODE_ARRAY_RANDOM_LENGTH = 4; -exports.UnicodeArrayNode = UnicodeArrayNode; -//# sourceMappingURL=UnicodeArrayNode.js.map \ No newline at end of file diff --git a/src/nodes/UnicodeArrayNode.js.map b/src/nodes/UnicodeArrayNode.js.map deleted file mode 100644 index 05eb56ac..00000000 --- a/src/nodes/UnicodeArrayNode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UnicodeArrayNode.js","sourceRoot":"","sources":["UnicodeArrayNode.ts"],"names":[],"mappings":";AAAA,uBAAqB,QAAQ,CAAC,CAAA;AAC9B,wBAAsB,UAAU,CAAC,CAAA;AAEjC,8BAA4B,sBAAsB,CAAC,CAAA;AAEnD,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,EAChC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvC,+BAAsC,WAAI;IAyCtC,YAAa,OAAY,EAAE,gBAAwB,EAAE,uBAAuB,GAAW,CAAC;QACpF,OAAO,CAAC;QAjCF,gBAAW,GAAgB,yBAAW,CAAC,gBAAgB,CAAC;QAU1D,iBAAY,GAAa,EAAE,CAAC;QAyBhC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAEM,UAAU;QACb,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM;gBAChB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,KAAK,SAAS;wBACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBAElC,KAAK,CAAC;gBACd,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAKM,iBAAiB;QACpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAKM,WAAW;QACd,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAKM,OAAO;QACV,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAKS,gBAAgB;QACtB,MAAM,CAAC;YACH,MAAM,EAAE,qBAAqB;YAC7B,cAAc,EAAE;gBACZ;oBACI,MAAM,EAAE,oBAAoB;oBAC5B,IAAI,EAAE;wBACF,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,IAAI,CAAC,gBAAgB;qBAChC;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,iBAAiB;wBACzB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK;4BACpC,MAAM,CAAC;gCACH,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,IAAI,KAAK,GAAG;gCACnB,qBAAqB,EAAE;oCACnB,SAAS,EAAG,KAAK;oCACjB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO;iCAC3C;6BACJ,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;aACJ;YACD,MAAM,EAAE,KAAK;SAChB,CAAC;IACN,CAAC;AACL,CAAC;AApHiB,4CAA2B,GAAW,CAAC,CAAC;AAJ7C,wBAAgB,mBAwH5B,CAAA"} \ No newline at end of file diff --git a/src/nodes/UnicodeArrayRotateFunctionCallNode.js b/src/nodes/UnicodeArrayRotateFunctionCallNode.js deleted file mode 100644 index 1afc9a39..00000000 --- a/src/nodes/UnicodeArrayRotateFunctionCallNode.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -const Node_1 = require('./Node'); -let estraverse = require('estraverse'); -class UnicodeArrayRotateFunctionCallNode extends Node_1.Node { - constructor(astTree, unicodeArrayRotateFunctionName, unicodeArrayName, unicodeArrayRotateValue) { - super(); - this.astTree = astTree; - this.unicodeArrayRotateFunctionName = unicodeArrayRotateFunctionName; - this.unicodeArrayName = unicodeArrayName; - this.unicodeArrayRotateValue = unicodeArrayRotateValue; - this.node = this.getNodeStructure(); - } - appendNode() { - estraverse.replace(this.astTree, { - leave: (node, parent) => { - switch (node.type) { - case 'Program': - node.body.unshift(this.getNode()); - break; - } - } - }); - } - getNodeStructure() { - return { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'CallExpression', - 'callee': { - 'type': 'Identifier', - 'name': this.unicodeArrayRotateFunctionName - }, - 'arguments': [ - { - 'type': 'Identifier', - 'name': this.unicodeArrayName - }, - { - 'type': 'Literal', - 'value': this.unicodeArrayRotateValue, - 'raw': `'${this.unicodeArrayRotateValue}'` - }, - { - 'type': 'Literal', - 'value': true, - 'raw': 'true' - } - ] - } - }; - } -} -exports.UnicodeArrayRotateFunctionCallNode = UnicodeArrayRotateFunctionCallNode; -//# sourceMappingURL=UnicodeArrayRotateFunctionCallNode.js.map \ No newline at end of file diff --git a/src/nodes/UnicodeArrayRotateFunctionCallNode.js.map b/src/nodes/UnicodeArrayRotateFunctionCallNode.js.map deleted file mode 100644 index 9ee0acff..00000000 --- a/src/nodes/UnicodeArrayRotateFunctionCallNode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UnicodeArrayRotateFunctionCallNode.js","sourceRoot":"","sources":["UnicodeArrayRotateFunctionCallNode.ts"],"names":[],"mappings":";AAAA,uBAAqB,QAAQ,CAAC,CAAA;AAE9B,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvC,iDAAwD,WAAI;IAgCxD,YACI,OAAY,EACZ,8BAAsC,EACtC,gBAAwB,EACxB,uBAA+B;QAE/B,OAAO,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAEM,UAAU;QACb,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM;gBAChB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,KAAK,SAAS;wBACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBAElC,KAAK,CAAC;gBACd,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAKS,gBAAgB;QACtB,MAAM,CAAC;YACH,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE;gBACV,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,IAAI,CAAC,8BAA8B;iBAC9C;gBACD,WAAW,EAAE;oBACT;wBACI,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,IAAI,CAAC,gBAAgB;qBAChC;oBACD;wBACI,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI,CAAC,uBAAuB;wBACrC,KAAK,EAAE,IAAI,IAAI,CAAC,uBAAuB,GAAG;qBAC7C;oBACD;wBACI,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;AACL,CAAC;AA3FY,0CAAkC,qCA2F9C,CAAA"} \ No newline at end of file diff --git a/src/nodes/UnicodeArrayRotateFunctionNode.js b/src/nodes/UnicodeArrayRotateFunctionNode.js deleted file mode 100644 index f0125856..00000000 --- a/src/nodes/UnicodeArrayRotateFunctionNode.js +++ /dev/null @@ -1,269 +0,0 @@ -"use strict"; -const Node_1 = require('./Node'); -const Utils_1 = require('../Utils'); -let estraverse = require('estraverse'); -class UnicodeArrayRotateFunctionNode extends Node_1.Node { - constructor(astTree, unicodeArrayRotateFunctionName, unicodeArrayName) { - super(); - this.astTree = astTree; - this.unicodeArrayRotateFunctionName = unicodeArrayRotateFunctionName; - this.unicodeArrayName = unicodeArrayName; - this.node = this.getNodeStructure(); - } - appendNode() { - estraverse.replace(this.astTree, { - leave: (node, parent) => { - switch (node.type) { - case 'Program': - node.body.push(this.getNode()); - break; - } - } - }); - } - getNodeIdentifier() { - return this.unicodeArrayRotateFunctionName; - } - getNodeStructure() { - return { - 'type': 'FunctionExpression', - 'id': { - 'type': 'Identifier', - 'name': this.unicodeArrayRotateFunctionName - }, - 'params': [ - { - 'type': 'Identifier', - 'name': 'array' - }, - { - 'type': 'Identifier', - 'name': 'times' - }, - { - 'type': 'Identifier', - 'name': 'reverse' - } - ], - 'defaults': [], - 'body': { - 'type': 'BlockStatement', - 'body': [ - { - 'type': 'IfStatement', - 'test': { - 'type': 'BinaryExpression', - 'operator': '<', - 'left': { - 'type': 'Identifier', - 'name': 'times' - }, - 'right': { - 'type': 'Literal', - 'value': 0, - 'raw': '0' - } - }, - 'consequent': { - 'type': 'BlockStatement', - 'body': [ - { - 'type': 'ReturnStatement', - 'argument': null - } - ] - }, - 'alternate': null - }, - { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'AssignmentExpression', - 'operator': '=', - 'left': { - 'type': 'Identifier', - 'name': 'reverse' - }, - 'right': { - 'type': 'LogicalExpression', - 'operator': '||', - 'left': { - 'type': 'Identifier', - 'name': 'reverse' - }, - 'right': { - 'type': 'Literal', - 'value': false, - 'raw': 'false' - } - } - } - }, - { - 'type': 'VariableDeclaration', - 'declarations': [ - { - 'type': 'VariableDeclarator', - 'id': { - 'type': 'Identifier', - 'name': 'temp' - }, - 'init': null - } - ], - 'kind': 'var' - }, - { - 'type': 'WhileStatement', - 'test': { - 'type': 'UpdateExpression', - 'operator': '--', - 'argument': { - 'type': 'Identifier', - 'name': 'times' - }, - 'prefix': false - }, - 'body': { - 'type': 'BlockStatement', - 'body': [ - { - 'type': 'IfStatement', - 'test': { - 'type': 'UnaryExpression', - 'operator': '!', - 'argument': { - 'type': 'Identifier', - 'name': 'reverse' - }, - 'prefix': true - }, - 'consequent': { - 'type': 'BlockStatement', - 'body': [ - { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'AssignmentExpression', - 'operator': '=', - 'left': { - 'type': 'Identifier', - 'name': 'temp' - }, - 'right': { - 'type': 'CallExpression', - 'callee': { - 'type': 'MemberExpression', - 'computed': true, - 'object': { - 'type': 'Identifier', - 'name': 'array' - }, - 'property': { - 'type': 'Literal', - 'name': 'pop', - 'x-verbatim-property': Utils_1.Utils.stringToUnicode('pop') - } - }, - 'arguments': [] - } - } - }, - { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'CallExpression', - 'callee': { - 'type': 'MemberExpression', - 'computed': true, - 'object': { - 'type': 'Identifier', - 'name': 'array' - }, - 'property': { - 'type': 'Literal', - 'name': 'unshift', - 'x-verbatim-property': Utils_1.Utils.stringToUnicode('unshift') - } - }, - 'arguments': [ - { - 'type': 'Identifier', - 'name': 'temp' - } - ] - } - } - ] - }, - 'alternate': { - 'type': 'BlockStatement', - 'body': [ - { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'AssignmentExpression', - 'operator': '=', - 'left': { - 'type': 'Identifier', - 'name': 'temp' - }, - 'right': { - 'type': 'CallExpression', - 'callee': { - 'type': 'MemberExpression', - 'computed': true, - 'object': { - 'type': 'Identifier', - 'name': 'array' - }, - 'property': { - 'type': 'Literal', - 'name': 'shift', - 'x-verbatim-property': Utils_1.Utils.stringToUnicode('shift') - } - }, - 'arguments': [] - } - } - }, - { - 'type': 'ExpressionStatement', - 'expression': { - 'type': 'CallExpression', - 'callee': { - 'type': 'MemberExpression', - 'computed': true, - 'object': { - 'type': 'Identifier', - 'name': 'array' - }, - 'property': { - 'type': 'Literal', - 'name': 'push', - 'x-verbatim-property': Utils_1.Utils.stringToUnicode('push') - } - }, - 'arguments': [ - { - 'type': 'Identifier', - 'name': 'temp' - } - ] - } - } - ] - } - } - ] - } - } - ] - }, - 'generator': false, - 'expression': false - }; - } -} -exports.UnicodeArrayRotateFunctionNode = UnicodeArrayRotateFunctionNode; -//# sourceMappingURL=UnicodeArrayRotateFunctionNode.js.map \ No newline at end of file diff --git a/src/nodes/UnicodeArrayRotateFunctionNode.js.map b/src/nodes/UnicodeArrayRotateFunctionNode.js.map deleted file mode 100644 index abfd6d8f..00000000 --- a/src/nodes/UnicodeArrayRotateFunctionNode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UnicodeArrayRotateFunctionNode.js","sourceRoot":"","sources":["UnicodeArrayRotateFunctionNode.ts"],"names":[],"mappings":"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"} \ No newline at end of file