Преглед изворни кода

Changed random identifiers prefix length to 6 characters

sanex3339 пре 7 година
родитељ
комит
e4f9c100f8

+ 2 - 2
README.md

@@ -573,9 +573,9 @@ Available values:
 * `mangled`: short identifier names like `a`, `b`, `c`
 * `mangled`: short identifier names like `a`, `b`, `c`
 
 
 ### `identifiersPrefix`
 ### `identifiersPrefix`
-Type: `string|boolean` Default: `false`
+Type: `string` Default: `''`
 
 
-Sets prefix for all generated identifiers. If prefix sets to `true` - random prefix will generated. If prefix sets to `false` or empty string - prefix won't generated.
+Sets prefix for all generated identifiers. If prefix sets to `true` - random prefix with length of 6 characters will generated. If prefix sets to `false` or empty string - prefix won't generated.
 
 
 Use this option when you want to obfuscate multiple files. This option helps to avoid conflicts between identifiers of these files. Prefix should be different for every file.
 Use this option when you want to obfuscate multiple files. This option helps to avoid conflicts between identifiers of these files. Prefix should be different for every file.
 
 

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
dist/index.js


+ 4 - 4
package.json

@@ -23,7 +23,7 @@
     "chance": "1.0.13",
     "chance": "1.0.13",
     "class-validator": "0.7.3",
     "class-validator": "0.7.3",
     "commander": "2.13.0",
     "commander": "2.13.0",
-    "escodegen-wallaby": "1.6.16",
+    "escodegen-wallaby": "1.6.17",
     "esprima": "4.0.0",
     "esprima": "4.0.0",
     "estraverse": "4.2.0",
     "estraverse": "4.2.0",
     "inversify": "4.9.0",
     "inversify": "4.9.0",
@@ -33,9 +33,9 @@
     "opencollective": "1.0.3",
     "opencollective": "1.0.3",
     "pjson": "1.0.9",
     "pjson": "1.0.9",
     "reflect-metadata": "0.1.12",
     "reflect-metadata": "0.1.12",
-    "source-map-support": "0.5.1",
+    "source-map-support": "0.5.2",
     "string-template": "1.0.0",
     "string-template": "1.0.0",
-    "tslib": "1.8.1"
+    "tslib": "1.9.0"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@types/chai": "4.1.1",
     "@types/chai": "4.1.1",
@@ -64,7 +64,7 @@
     "pre-commit": "1.2.2",
     "pre-commit": "1.2.2",
     "rimraf": "2.6.2",
     "rimraf": "2.6.2",
     "sinon": "4.1.6",
     "sinon": "4.1.6",
-    "threads": "0.10.0",
+    "threads": "0.10.1",
     "ts-node": "4.1.0",
     "ts-node": "4.1.0",
     "tslint": "5.9.1",
     "tslint": "5.9.1",
     "tslint-eslint-rules": "4.1.1",
     "tslint-eslint-rules": "4.1.1",

+ 1 - 1
src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts

@@ -34,7 +34,7 @@ export abstract class AbstractIdentifierNamesGenerator implements IIdentifierNam
         this.options = options;
         this.options = options;
 
 
         this.identifiersPrefix = this.options.identifiersPrefix === true
         this.identifiersPrefix = this.options.identifiersPrefix === true
-            ? this.randomGenerator.getRandomString(3)
+            ? this.randomGenerator.getRandomString(6)
             : this.options.identifiersPrefix || '';
             : this.options.identifiersPrefix || '';
     }
     }
 
 

+ 1 - 1
src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts

@@ -103,7 +103,7 @@ export class MangledIdentifierNamesGenerator extends AbstractIdentifierNamesGene
      */
      */
     public generate (length: number): string {
     public generate (length: number): string {
         const prefix: string = this.options.identifiersPrefix ?
         const prefix: string = this.options.identifiersPrefix ?
-            `${this.options.identifiersPrefix}_`
+            `${this.identifiersPrefix}_`
             : '';
             : '';
         const newName: string = MangledIdentifierNamesGenerator.generateNewMangledName(this.previousMangledName);
         const newName: string = MangledIdentifierNamesGenerator.generateNewMangledName(this.previousMangledName);
 
 

+ 3 - 3
src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts

@@ -86,10 +86,10 @@ export class ClassDeclarationTransformer extends AbstractNodeTransformer {
      */
      */
     public transformNode (classDeclarationNode: ESTree.ClassDeclaration, parentNode: ESTree.Node): ESTree.Node {
     public transformNode (classDeclarationNode: ESTree.ClassDeclaration, parentNode: ESTree.Node): ESTree.Node {
         const nodeIdentifier: number = this.nodeIdentifier++;
         const nodeIdentifier: number = this.nodeIdentifier++;
-        const blockScopeNode: TNodeWithBlockScope = NodeUtils
-            .getBlockScopesOfNode(classDeclarationNode)[0];
+        const blockScopeNode: TNodeWithBlockScope = NodeUtils.getBlockScopesOfNode(classDeclarationNode)[0];
+        const isGlobalDeclaration: boolean = blockScopeNode.type === NodeType.Program;
 
 
-        if (!this.options.renameGlobals && blockScopeNode.type === NodeType.Program) {
+        if (!this.options.renameGlobals && isGlobalDeclaration) {
             return classDeclarationNode;
             return classDeclarationNode;
         }
         }
 
 

+ 3 - 3
src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts

@@ -88,10 +88,10 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
      */
      */
     public transformNode (functionDeclarationNode: ESTree.FunctionDeclaration, parentNode: ESTree.Node): ESTree.Node {
     public transformNode (functionDeclarationNode: ESTree.FunctionDeclaration, parentNode: ESTree.Node): ESTree.Node {
         const nodeIdentifier: number = this.nodeIdentifier++;
         const nodeIdentifier: number = this.nodeIdentifier++;
-        const blockScopeNode: TNodeWithBlockScope = NodeUtils
-            .getBlockScopesOfNode(functionDeclarationNode)[0];
+        const blockScopeNode: TNodeWithBlockScope = NodeUtils.getBlockScopesOfNode(functionDeclarationNode)[0];
+        const isGlobalDeclaration: boolean = blockScopeNode.type === NodeType.Program;
 
 
-        if (!this.options.renameGlobals && blockScopeNode.type === NodeType.Program) {
+        if (!this.options.renameGlobals && isGlobalDeclaration) {
             return functionDeclarationNode;
             return functionDeclarationNode;
         }
         }
 
 

+ 3 - 3
src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts

@@ -88,10 +88,10 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
      * @returns {NodeGuards}
      * @returns {NodeGuards}
      */
      */
     public transformNode (variableDeclarationNode: ESTree.VariableDeclaration, parentNode: ESTree.Node): ESTree.Node {
     public transformNode (variableDeclarationNode: ESTree.VariableDeclaration, parentNode: ESTree.Node): ESTree.Node {
-        const blockScopeNode: TNodeWithBlockScope = NodeUtils
-            .getBlockScopesOfNode(variableDeclarationNode)[0];
+        const blockScopeNode: TNodeWithBlockScope = NodeUtils.getBlockScopesOfNode(variableDeclarationNode)[0];
+        const isGlobalDeclaration: boolean = blockScopeNode.type === NodeType.Program;
 
 
-        if (!this.options.renameGlobals && blockScopeNode.type === NodeType.Program) {
+        if (!this.options.renameGlobals && isGlobalDeclaration) {
             return variableDeclarationNode;
             return variableDeclarationNode;
         }
         }
 
 

+ 1 - 1
test/unit-tests/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.spec.ts

@@ -77,7 +77,7 @@ describe('HexadecimalIdentifierNamesGenerator', () => {
         });
         });
 
 
         describe('Hexadecimal name with random prefix', () => {
         describe('Hexadecimal name with random prefix', () => {
-            const regExp: RegExp = /^(\w){3}_0x(\w){4,6}$/;
+            const regExp: RegExp = /^(\w){6}_0x(\w){4,6}$/;
 
 
             let identifierNamesGenerator: IIdentifierNamesGenerator,
             let identifierNamesGenerator: IIdentifierNamesGenerator,
                 hexadecimalIdentifierName: string;
                 hexadecimalIdentifierName: string;

+ 2 - 2
test/unit-tests/generators/identifier-names-generators/MangledlIdentifierNamesGenerator.spec.ts

@@ -188,7 +188,7 @@ describe('MangledIdentifierNamesGenerator', () => {
             });
             });
 
 
             describe('variant #1: initial mangled name', () => {
             describe('variant #1: initial mangled name', () => {
-                const expectedMangledIdentifierNameRegExp: RegExp = /(?:\w){3}_a/;
+                const expectedMangledIdentifierNameRegExp: RegExp = /(\w){6}_a/;
 
 
                 beforeEach(() => {
                 beforeEach(() => {
                     mangledIdentifierName = identifierNamesGenerator.generate(4);
                     mangledIdentifierName = identifierNamesGenerator.generate(4);
@@ -200,7 +200,7 @@ describe('MangledIdentifierNamesGenerator', () => {
             });
             });
 
 
             describe('variant #2: second mangled name', () => {
             describe('variant #2: second mangled name', () => {
-                const expectedMangledIdentifierNameRegExp: RegExp = /(?:\w){3}_b/;
+                const expectedMangledIdentifierNameRegExp: RegExp = /(\w){6}_b/;
 
 
                 beforeEach(() => {
                 beforeEach(() => {
                     mangledIdentifierName = identifierNamesGenerator.generate(4);
                     mangledIdentifierName = identifierNamesGenerator.generate(4);

+ 14 - 10
yarn.lock

@@ -1446,9 +1446,9 @@ [email protected], escape-string-regexp@^1.0.2, escape-string-regexp@^1
   version "1.0.5"
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
 
 
[email protected]6:
-  version "1.6.16"
-  resolved "https://registry.yarnpkg.com/escodegen-wallaby/-/escodegen-wallaby-1.6.16.tgz#f55b65d1a846d98584f1be18a2bf463f96280527"
[email protected]7:
+  version "1.6.17"
+  resolved "https://registry.yarnpkg.com/escodegen-wallaby/-/escodegen-wallaby-1.6.17.tgz#3e1f334884d4214c94309cf734ec7cfa0b3d438d"
   dependencies:
   dependencies:
     esprima "^2.7.1"
     esprima "^2.7.1"
     estraverse "^1.9.1"
     estraverse "^1.9.1"
@@ -3392,9 +3392,9 @@ source-map-resolve@^0.5.0:
     source-map-url "^0.4.0"
     source-map-url "^0.4.0"
     urix "^0.1.0"
     urix "^0.1.0"
 
 
[email protected].1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.1.tgz#72291517d1fd0cb9542cee6c27520884b5da1a07"
[email protected].2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.2.tgz#1a6297fd5b2e762b39688c7fc91233b60984f0a5"
   dependencies:
   dependencies:
     source-map "^0.6.0"
     source-map "^0.6.0"
 
 
@@ -3623,9 +3623,9 @@ text-encoding@^0.6.4:
   version "0.6.4"
   version "0.6.4"
   resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
   resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
 
 
[email protected].0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/threads/-/threads-0.10.0.tgz#a6b0bc5d916fa75434b166c612769684b65fead5"
[email protected].1:
+  version "0.10.1"
+  resolved "https://registry.yarnpkg.com/threads/-/threads-0.10.1.tgz#637765dc434ab3373d3c14754c8f7ac6515d6815"
   dependencies:
   dependencies:
     eventemitter3 "^2.0.2"
     eventemitter3 "^2.0.2"
     native-promise-only "^0.8.1"
     native-promise-only "^0.8.1"
@@ -3709,7 +3709,11 @@ tsconfig@^7.0.0:
     strip-bom "^3.0.0"
     strip-bom "^3.0.0"
     strip-json-comments "^2.0.0"
     strip-json-comments "^2.0.0"
 
 
[email protected], tslib@^1.0.0, tslib@^1.7.1, tslib@^1.8.0:
[email protected]:
+  version "1.9.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"
+
+tslib@^1.0.0, tslib@^1.7.1, tslib@^1.8.0:
   version "1.8.1"
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
 
 

Неке датотеке нису приказане због велике количине промена