Browse Source

refactoring

sanex3339 9 years ago
parent
commit
03a8c098bd

+ 15 - 16
dist/index.js

@@ -448,18 +448,17 @@ module.exports =
 	            });
 	        }
 	    }, {
-	        key: "replaceAndStoreIdentifiersNames",
-	        value: function replaceAndStoreIdentifiersNames(node, namesMap) {
+	        key: "storeIdentifiersNames",
+	        value: function storeIdentifiersNames(node, namesMap) {
 	            if (Nodes_1.Nodes.isIdentifierNode(node) && !this.isReservedName(node.name)) {
 	                namesMap.set(node.name, Utils_1.Utils.getRandomVariableName());
-	                node.name = namesMap.get(node.name);
 	                return;
 	            }
 	            return estraverse.VisitorOption.Skip;
 	        }
 	    }, {
-	        key: "replaceIdentifiersWithValuesFromNamesMap",
-	        value: function replaceIdentifiersWithValuesFromNamesMap(node, parentNode, namesMap) {
+	        key: "replaceIdentifiersWithRandomNames",
+	        value: function replaceIdentifiersWithRandomNames(node, parentNode, namesMap) {
 	            if (Nodes_1.Nodes.isIdentifierNode(node) && namesMap.has(node.name)) {
 	                var parentNodeIsPropertyNode = Nodes_1.Nodes.isPropertyNode(parentNode) && parentNode.key === node,
 	                    parentNodeIsMemberExpressionNode = Nodes_1.Nodes.isMemberExpressionNode(parentNode) && parentNode.computed === false && parentNode.property === node;
@@ -1873,7 +1872,7 @@ module.exports =
 	
 	            estraverse.replace(catchClauseNode.param, {
 	                leave: function leave(node) {
-	                    return _this2.replaceAndStoreIdentifiersNames(node, _this2.catchClauseParam);
+	                    return _this2.storeIdentifiersNames(node, _this2.catchClauseParam);
 	                }
 	            });
 	        }
@@ -1882,9 +1881,9 @@ module.exports =
 	        value: function replaceCatchClauseParamInBlockStatement(catchClauseNode) {
 	            var _this3 = this;
 	
-	            estraverse.replace(catchClauseNode.body, {
+	            estraverse.replace(catchClauseNode, {
 	                leave: function leave(node, parentNode) {
-	                    _this3.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, _this3.catchClauseParam);
+	                    _this3.replaceIdentifiersWithRandomNames(node, parentNode, _this3.catchClauseParam);
 	                }
 	            });
 	        }
@@ -1949,7 +1948,7 @@ module.exports =
 	
 	            estraverse.replace(functionDeclarationNode.id, {
 	                leave: function leave(node) {
-	                    return _this2.replaceAndStoreIdentifiersNames(node, _this2.functionName);
+	                    return _this2.storeIdentifiersNames(node, _this2.functionName);
 	                }
 	            });
 	        }
@@ -1961,7 +1960,7 @@ module.exports =
 	            var scopeNode = NodeUtils_1.NodeUtils.getBlockScopeOfNode(functionDeclarationNode);
 	            estraverse.replace(scopeNode, {
 	                enter: function enter(node, parentNode) {
-	                    _this3.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, _this3.functionName);
+	                    _this3.replaceIdentifiersWithRandomNames(node, parentNode, _this3.functionName);
 	                }
 	            });
 	        }
@@ -2022,7 +2021,7 @@ module.exports =
 	            functionNode.params.forEach(function (paramsNode) {
 	                estraverse.replace(paramsNode, {
 	                    leave: function leave(node) {
-	                        return _this2.replaceAndStoreIdentifiersNames(node, _this2.functionParams);
+	                        return _this2.storeIdentifiersNames(node, _this2.functionParams);
 	                    }
 	                });
 	            });
@@ -2032,9 +2031,9 @@ module.exports =
 	        value: function replaceFunctionParamsInBlockStatement(functionNode) {
 	            var _this3 = this;
 	
-	            estraverse.replace(functionNode.body, {
+	            estraverse.replace(functionNode, {
 	                leave: function leave(node, parentNode) {
-	                    _this3.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, _this3.functionParams);
+	                    _this3.replaceIdentifiersWithRandomNames(node, parentNode, _this3.functionParams);
 	                }
 	            });
 	        }
@@ -2417,7 +2416,7 @@ module.exports =
 	            variableDeclarationNode.declarations.forEach(function (declarationNode) {
 	                estraverse.replace(declarationNode.id, {
 	                    enter: function enter(node) {
-	                        return _this2.replaceAndStoreIdentifiersNames(node, _this2.variableNames);
+	                        return _this2.storeIdentifiersNames(node, _this2.variableNames);
 	                    }
 	                });
 	            });
@@ -2435,7 +2434,7 @@ module.exports =
 	                    if (Utils_1.Utils.arrayContains(functionNodes, node.type)) {
 	                        estraverse.replace(node, {
 	                            enter: function enter(node, parentNode) {
-	                                _this3.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, _this3.variableNames);
+	                                _this3.replaceIdentifiersWithRandomNames(node, parentNode, _this3.variableNames);
 	                            }
 	                        });
 	                    }
@@ -2443,7 +2442,7 @@ module.exports =
 	                        isNodeAfterVariableDeclaratorFlag = true;
 	                    }
 	                    if (isNodeAfterVariableDeclaratorFlag) {
-	                        _this3.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, _this3.variableNames);
+	                        _this3.replaceIdentifiersWithRandomNames(node, parentNode, _this3.variableNames);
 	                    }
 	                }
 	            });

+ 3 - 3
src/node-obfuscators/CatchClauseObfuscator.ts

@@ -35,7 +35,7 @@ export class CatchClauseObfuscator extends NodeObfuscator {
      */
     private replaceCatchClauseParam (catchClauseNode: ICatchClauseNode): void {
         estraverse.replace(catchClauseNode.param, {
-            leave: (node: INode): any => this.replaceAndStoreIdentifiersNames(node, this.catchClauseParam)
+            leave: (node: INode): any => this.storeIdentifiersNames(node, this.catchClauseParam)
         });
     }
 
@@ -43,9 +43,9 @@ export class CatchClauseObfuscator extends NodeObfuscator {
      * @param catchClauseNode
      */
     private replaceCatchClauseParamInBlockStatement (catchClauseNode: ICatchClauseNode): void {
-        estraverse.replace(catchClauseNode.body, {
+        estraverse.replace(catchClauseNode, {
             leave: (node: INode, parentNode: INode): any => {
-                this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.catchClauseParam);
+                this.replaceIdentifiersWithRandomNames(node, parentNode, this.catchClauseParam);
             }
         });
     }

+ 2 - 2
src/node-obfuscators/FunctionDeclarationObfuscator.ts

@@ -41,7 +41,7 @@ export class FunctionDeclarationObfuscator extends NodeObfuscator {
      */
     private replaceFunctionName (functionDeclarationNode: IFunctionDeclarationNode): void {
         estraverse.replace(functionDeclarationNode.id, {
-            leave: (node: INode): any => this.replaceAndStoreIdentifiersNames(node, this.functionName)
+            leave: (node: INode): any => this.storeIdentifiersNames(node, this.functionName)
         });
     }
 
@@ -55,7 +55,7 @@ export class FunctionDeclarationObfuscator extends NodeObfuscator {
 
         estraverse.replace(scopeNode, {
             enter: (node: INode, parentNode: INode): any => {
-                this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionName);
+                this.replaceIdentifiersWithRandomNames(node, parentNode, this.functionName);
             }
         });
     }

+ 3 - 3
src/node-obfuscators/FunctionObfuscator.ts

@@ -36,7 +36,7 @@ export class FunctionObfuscator extends NodeObfuscator {
     private replaceFunctionParams (functionNode: IFunctionNode): void {
         functionNode.params.forEach((paramsNode: INode) => {
             estraverse.replace(paramsNode, {
-                leave: (node: INode): any => this.replaceAndStoreIdentifiersNames(node, this.functionParams)
+                leave: (node: INode): any => this.storeIdentifiersNames(node, this.functionParams)
             });
         });
     }
@@ -45,9 +45,9 @@ export class FunctionObfuscator extends NodeObfuscator {
      * @param functionNode
      */
     private replaceFunctionParamsInBlockStatement (functionNode: IFunctionNode): void {
-        estraverse.replace(functionNode.body, {
+        estraverse.replace(functionNode, {
             leave: (node: INode, parentNode: INode): any => {
-                this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionParams);
+                this.replaceIdentifiersWithRandomNames(node, parentNode, this.functionParams);
             }
         });
     }

+ 3 - 4
src/node-obfuscators/NodeObfuscator.ts

@@ -49,20 +49,19 @@ export abstract class NodeObfuscator implements INodeObfuscator {
     }
 
     /**
-     * Replaces all identifiers names in specified node with new random names and stores that names in given `namesMap`.
+     * Store all identifiers names as keys in given `namesMap` with random names as value.
      * Reserved names will be ignored.
      *
      * @param node
      * @param namesMap
      * @returns {estraverse.VisitorOption}
      */
-    protected replaceAndStoreIdentifiersNames (
+    protected storeIdentifiersNames (
         node: INode,
         namesMap: Map <string, string>
     ): estraverse.VisitorOption {
         if (Nodes.isIdentifierNode(node) && !this.isReservedName(node.name)) {
             namesMap.set(node.name, Utils.getRandomVariableName());
-            node.name = namesMap.get(node.name);
 
             return;
         }
@@ -75,7 +74,7 @@ export abstract class NodeObfuscator implements INodeObfuscator {
      * @param parentNode
      * @param namesMap
      */
-    protected replaceIdentifiersWithValuesFromNamesMap (
+    protected replaceIdentifiersWithRandomNames (
         node: INode,
         parentNode: INode,
         namesMap: Map <string, string>

+ 3 - 3
src/node-obfuscators/VariableDeclarationObfuscator.ts

@@ -46,7 +46,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
     private replaceVariableName (variableDeclarationNode: IVariableDeclarationNode): void {
         variableDeclarationNode.declarations.forEach((declarationNode: IVariableDeclaratorNode) => {
             estraverse.replace(declarationNode.id, {
-                enter: (node: INode): any => this.replaceAndStoreIdentifiersNames(node, this.variableNames)
+                enter: (node: INode): any => this.storeIdentifiersNames(node, this.variableNames)
             });
         });
     }
@@ -72,7 +72,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
                 if (Utils.arrayContains(functionNodes, node.type)) {
                     estraverse.replace(node, {
                         enter: (node: INode, parentNode: INode): any => {
-                            this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
+                            this.replaceIdentifiersWithRandomNames(node, parentNode, this.variableNames);
                         }
                     });
                 }
@@ -82,7 +82,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
                 }
 
                 if (isNodeAfterVariableDeclaratorFlag) {
-                    this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
+                    this.replaceIdentifiersWithRandomNames(node, parentNode, this.variableNames);
                 }
             }
         });