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

This commit is contained in:
sanex3339
2017-07-25 10:10:35 +03:00
parent da7d71d855
commit 88fc60e496
5 changed files with 37 additions and 19 deletions
+1 -1
View File
@@ -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
+1 -1
View File
File diff suppressed because one or more lines are too long
+5 -5
View File
@@ -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
View File
@@ -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
View File
@@ -20,9 +20,9 @@
version "0.0.6"
resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c"
"@types/esprima@2.1.33":
version "2.1.33"
resolved "https://registry.yarnpkg.com/@types/esprima/-/esprima-2.1.33.tgz#c132313f0d19733e5ddb2054b6853deafe7af63d"
"@types/esprima@2.1.34":
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/estree@0.0.36":
"@types/estree@*":
version "0.0.36"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.36.tgz#dc601017bb2e1ac3ad8c438757b542aff515f548"
"@types/estree@0.0.37":
version "0.0.37"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.37.tgz#48949c1516d46139c1e521195f9e12993b69d751"
"@types/md5@2.1.32":
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/node@8.0.15":
"@types/node@*":
version "8.0.15"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.15.tgz#8f23f8a4642ced357704d048010876fc0c7f179a"
"@types/node@8.0.16":
version "8.0.16"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.16.tgz#5aa51abd72621a0ce53fb86bccd76825ee1b4ca9"
"@types/sinon@2.3.3":
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"