Kaynağa Gözat

0.10.0-beta.12 Generate seed if it's not set through options

sanex3339 7 yıl önce
ebeveyn
işleme
88fc60e496
5 değiştirilmiş dosya ile 36 ekleme ve 18 silme
  1. 1 1
      CHANGELOG.md
  2. 0 0
      dist/index.js
  3. 5 5
      package.json
  4. 14 4
      src/utils/RandomGenerator.ts
  5. 16 8
      yarn.lock

+ 1 - 1
CHANGELOG.md

@@ -6,7 +6,7 @@ v0.10.0
 * **New option:** `deadCodeInjectionThreshold` allows to set percentage of nodes that will affected by `deadCodeInjection`.
 * **New option:** `mangle` enables mangling of variable names.
 * **Breaking change:** `disableConsoleOutput` option now disabled by default.
-* `escapeUnicodeSequence` option now disabled by default.
+* **Breaking change:** `escapeUnicodeSequence` option now disabled by default.
 * `controlFlowFlattening` now affects string literal nodes.
 * increased runtime performance with `rc4` `stringArrayEncoding`.
 * added support for async functions

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/index.js


+ 5 - 5
package.json

@@ -1,6 +1,6 @@
 {
   "name": "javascript-obfuscator",
-  "version": "0.10.0-beta.11",
+  "version": "0.10.0-beta.12",
   "description": "JavaScript obfuscator",
   "keywords": [
     "obfuscator",
@@ -40,13 +40,13 @@
     "@types/chance": "0.7.33",
     "@types/commander": "2.9.1",
     "@types/escodegen": "0.0.6",
-    "@types/esprima": "2.1.33",
+    "@types/esprima": "2.1.34",
     "@types/estraverse": "0.0.6",
-    "@types/estree": "0.0.36",
+    "@types/estree": "0.0.37",
     "@types/md5": "2.1.32",
     "@types/mkdirp": "0.5.0",
     "@types/mocha": "2.2.41",
-    "@types/node": "8.0.15",
+    "@types/node": "8.0.16",
     "@types/sinon": "2.3.3",
     "@types/string-template": "1.0.2",
     "awesome-typescript-loader": "3.2.1",
@@ -60,7 +60,7 @@
     "mocha": "3.4.2",
     "pre-commit": "1.2.2",
     "sinon": "2.3.8",
-    "ts-node": "3.2.1",
+    "ts-node": "3.3.0",
     "tslint": "5.5.0",
     "tslint-eslint-rules": "4.1.1",
     "tslint-loader": "3.5.3",

+ 14 - 4
src/utils/RandomGenerator.ts

@@ -28,6 +28,11 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
      */
     public static readonly randomGeneratorPoolHexadecimal: string = `abcdef${RandomGenerator.randomGeneratorPoolNumbers}`;
 
+    /**
+     * @type {number}
+     */
+    public seed: number;
+
     /**
      * @type {IOptions}
      */
@@ -62,9 +67,14 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
 
     @postConstruct()
     public initialize (): void {
-        this.randomGenerator = this.options.seed === 0
-            ? new Chance()
-            : new Chance(this.getSeed());
+        const getRandomInteger: (min: number, max: number) => number = (min: number, max: number) => {
+            return Math.floor(Math.random() * (max - min + 1) + min);
+        };
+
+        this.seed = this.options.seed !== 0 ? this.options.seed : getRandomInteger(0, 999999999);
+        this.randomGenerator = new Chance(this.getSeed());
+
+        console.log(`seed is ${this.seed}`);
     }
 
     /**
@@ -145,6 +155,6 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
     private getSeed (): number {
         const md5Hash: string = md5(this.sourceCode.getSourceCode());
 
-        return this.options.seed + Number(md5Hash.replace(/\D/g, ''));
+        return this.seed + Number(md5Hash.replace(/\D/g, ''));
     }
 }

+ 16 - 8
yarn.lock

@@ -20,9 +20,9 @@
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c"
 
-"@types/[email protected]3":
-  version "2.1.33"
-  resolved "https://registry.yarnpkg.com/@types/esprima/-/esprima-2.1.33.tgz#c132313f0d19733e5ddb2054b6853deafe7af63d"
+"@types/[email protected]4":
+  version "2.1.34"
+  resolved "https://registry.yarnpkg.com/@types/esprima/-/esprima-2.1.34.tgz#6e26aadaa60c51304da29a2ad2183a7166a52474"
   dependencies:
     "@types/estree" "*"
 
@@ -32,10 +32,14 @@
   dependencies:
     "@types/estree" "*"
 
-"@types/estree@*", "@types/[email protected]":
+"@types/estree@*":
   version "0.0.36"
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.36.tgz#dc601017bb2e1ac3ad8c438757b542aff515f548"
 
+"@types/[email protected]":
+  version "0.0.37"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.37.tgz#48949c1516d46139c1e521195f9e12993b69d751"
+
 "@types/[email protected]":
   version "2.1.32"
   resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.1.32.tgz#93e23437fcd17a7b9ca98d02aa6002e835842fe8"
@@ -52,10 +56,14 @@
   version "2.2.41"
   resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.41.tgz#e27cf0817153eb9f2713b2d3f6c68f1e1c3ca608"
 
-"@types/node@*", "@types/[email protected]":
+"@types/node@*":
   version "8.0.15"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.15.tgz#8f23f8a4642ced357704d048010876fc0c7f179a"
 
+"@types/[email protected]":
+  version "8.0.16"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.16.tgz#5aa51abd72621a0ce53fb86bccd76825ee1b4ca9"
+
 "@types/[email protected]":
   version "2.3.3"
   resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-2.3.3.tgz#1f20b96f954b4997a09c1c0a20264aaba6b00147"
@@ -3704,9 +3712,9 @@ trim-right@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
 
-ts-node@3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.2.1.tgz#9595dd840d03e62bc79214ce5a7b51e55e3c4ffc"
+ts-node@3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
   dependencies:
     arrify "^1.0.0"
     chalk "^2.0.0"

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor