webfuscator 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/obfuscator.d.ts.map +1 -1
- package/dist/obfuscator.js +25 -13
- package/dist/obfuscator.js.map +1 -1
- package/dist/options.d.ts +10 -9
- package/dist/options.d.ts.map +1 -1
- package/dist/transforms/arguments-to-parameters.d.ts +2 -5
- package/dist/transforms/arguments-to-parameters.d.ts.map +1 -1
- package/dist/transforms/arguments-to-parameters.js +2 -5
- package/dist/transforms/arguments-to-parameters.js.map +1 -1
- package/dist/transforms/arrow-to-function.d.ts +3 -4
- package/dist/transforms/arrow-to-function.d.ts.map +1 -1
- package/dist/transforms/arrow-to-function.js +3 -4
- package/dist/transforms/arrow-to-function.js.map +1 -1
- package/dist/transforms/collapse-single-use-temps.d.ts +2 -3
- package/dist/transforms/collapse-single-use-temps.d.ts.map +1 -1
- package/dist/transforms/collapse-single-use-temps.js +2 -3
- package/dist/transforms/collapse-single-use-temps.js.map +1 -1
- package/dist/transforms/conceal-strings.d.ts +2 -19
- package/dist/transforms/conceal-strings.d.ts.map +1 -1
- package/dist/transforms/conceal-strings.js +2 -19
- package/dist/transforms/conceal-strings.js.map +1 -1
- package/dist/transforms/const-let-to-var.d.ts +3 -4
- package/dist/transforms/const-let-to-var.d.ts.map +1 -1
- package/dist/transforms/const-let-to-var.js +3 -4
- package/dist/transforms/const-let-to-var.js.map +1 -1
- package/dist/transforms/do-while-to-while.d.ts +2 -3
- package/dist/transforms/do-while-to-while.d.ts.map +1 -1
- package/dist/transforms/do-while-to-while.js +2 -3
- package/dist/transforms/do-while-to-while.js.map +1 -1
- package/dist/transforms/drop-console.d.ts +1 -4
- package/dist/transforms/drop-console.d.ts.map +1 -1
- package/dist/transforms/drop-console.js +1 -4
- package/dist/transforms/drop-console.js.map +1 -1
- package/dist/transforms/expand-binary-assignment.d.ts +2 -8
- package/dist/transforms/expand-binary-assignment.d.ts.map +1 -1
- package/dist/transforms/expand-binary-assignment.js +2 -8
- package/dist/transforms/expand-binary-assignment.js.map +1 -1
- package/dist/transforms/expand-logical-assignment.d.ts +3 -2
- package/dist/transforms/expand-logical-assignment.d.ts.map +1 -1
- package/dist/transforms/expand-logical-assignment.js +3 -2
- package/dist/transforms/expand-logical-assignment.js.map +1 -1
- package/dist/transforms/extract-object-properties.d.ts +2 -3
- package/dist/transforms/extract-object-properties.d.ts.map +1 -1
- package/dist/transforms/extract-object-properties.js +2 -3
- package/dist/transforms/extract-object-properties.js.map +1 -1
- package/dist/transforms/fold-builtin-methods.d.ts +2 -3
- package/dist/transforms/fold-builtin-methods.d.ts.map +1 -1
- package/dist/transforms/fold-builtin-methods.js +2 -3
- package/dist/transforms/fold-builtin-methods.js.map +1 -1
- package/dist/transforms/fold-constants.d.ts +2 -2
- package/dist/transforms/fold-constants.js +2 -2
- package/dist/transforms/for-to-while.d.ts +2 -3
- package/dist/transforms/for-to-while.d.ts.map +1 -1
- package/dist/transforms/for-to-while.js +2 -3
- package/dist/transforms/for-to-while.js.map +1 -1
- package/dist/transforms/function-declaration-to-expression.d.ts +3 -7
- package/dist/transforms/function-declaration-to-expression.d.ts.map +1 -1
- package/dist/transforms/function-declaration-to-expression.js +3 -7
- package/dist/transforms/function-declaration-to-expression.js.map +1 -1
- package/dist/transforms/hoist-variables.d.ts +2 -4
- package/dist/transforms/hoist-variables.d.ts.map +1 -1
- package/dist/transforms/hoist-variables.js +2 -4
- package/dist/transforms/hoist-variables.js.map +1 -1
- package/dist/transforms/inline-functions.d.ts +2 -2
- package/dist/transforms/inline-functions.js +2 -2
- package/dist/transforms/logical-to-ternary.d.ts +2 -2
- package/dist/transforms/logical-to-ternary.js +2 -2
- package/dist/transforms/mangle-properties.d.ts +2 -3
- package/dist/transforms/mangle-properties.d.ts.map +1 -1
- package/dist/transforms/mangle-properties.js +2 -3
- package/dist/transforms/mangle-properties.js.map +1 -1
- package/dist/transforms/merge-variable-declarations.d.ts +1 -3
- package/dist/transforms/merge-variable-declarations.d.ts.map +1 -1
- package/dist/transforms/merge-variable-declarations.js +1 -3
- package/dist/transforms/merge-variable-declarations.js.map +1 -1
- package/dist/transforms/nullish-coalescing-to-ternary.d.ts +2 -2
- package/dist/transforms/nullish-coalescing-to-ternary.js +2 -2
- package/dist/transforms/numbers-to-strings.d.ts +1 -5
- package/dist/transforms/numbers-to-strings.d.ts.map +1 -1
- package/dist/transforms/numbers-to-strings.js +1 -5
- package/dist/transforms/numbers-to-strings.js.map +1 -1
- package/dist/transforms/object-method-to-property.d.ts +2 -10
- package/dist/transforms/object-method-to-property.d.ts.map +1 -1
- package/dist/transforms/object-method-to-property.js +2 -10
- package/dist/transforms/object-method-to-property.js.map +1 -1
- package/dist/transforms/optional-chaining-to-ternary.d.ts +2 -3
- package/dist/transforms/optional-chaining-to-ternary.d.ts.map +1 -1
- package/dist/transforms/optional-chaining-to-ternary.js +2 -3
- package/dist/transforms/optional-chaining-to-ternary.js.map +1 -1
- package/dist/transforms/pack-declarations-into-parameters.d.ts +2 -5
- package/dist/transforms/pack-declarations-into-parameters.d.ts.map +1 -1
- package/dist/transforms/pack-declarations-into-parameters.js +2 -5
- package/dist/transforms/pack-declarations-into-parameters.js.map +1 -1
- package/dist/transforms/pack-expressions.d.ts +20 -0
- package/dist/transforms/pack-expressions.d.ts.map +1 -0
- package/dist/transforms/pack-expressions.js +132 -0
- package/dist/transforms/pack-expressions.js.map +1 -0
- package/dist/transforms/pack.d.ts +2 -4
- package/dist/transforms/pack.d.ts.map +1 -1
- package/dist/transforms/pack.js +2 -4
- package/dist/transforms/pack.js.map +1 -1
- package/dist/transforms/remove-unreachable-code.d.ts +2 -4
- package/dist/transforms/remove-unreachable-code.d.ts.map +1 -1
- package/dist/transforms/remove-unreachable-code.js +2 -4
- package/dist/transforms/remove-unreachable-code.js.map +1 -1
- package/dist/transforms/remove-unused-code.d.ts +2 -2
- package/dist/transforms/remove-unused-code.js +2 -2
- package/dist/transforms/rename-identifiers.d.ts +2 -3
- package/dist/transforms/rename-identifiers.d.ts.map +1 -1
- package/dist/transforms/rename-identifiers.js +2 -3
- package/dist/transforms/rename-identifiers.js.map +1 -1
- package/dist/transforms/reorder-function-declarations.d.ts +2 -6
- package/dist/transforms/reorder-function-declarations.d.ts.map +1 -1
- package/dist/transforms/reorder-function-declarations.js +2 -6
- package/dist/transforms/reorder-function-declarations.js.map +1 -1
- package/dist/transforms/specials-to-strings.d.ts +2 -13
- package/dist/transforms/specials-to-strings.d.ts.map +1 -1
- package/dist/transforms/specials-to-strings.js +2 -13
- package/dist/transforms/specials-to-strings.js.map +1 -1
- package/dist/transforms/switch-to-if.d.ts +3 -4
- package/dist/transforms/switch-to-if.d.ts.map +1 -1
- package/dist/transforms/switch-to-if.js +3 -4
- package/dist/transforms/switch-to-if.js.map +1 -1
- package/dist/transforms/ternary-to-if.d.ts +2 -3
- package/dist/transforms/ternary-to-if.d.ts.map +1 -1
- package/dist/transforms/ternary-to-if.js +2 -3
- package/dist/transforms/ternary-to-if.js.map +1 -1
- package/dist/transforms/update-to-assignment.d.ts +2 -6
- package/dist/transforms/update-to-assignment.d.ts.map +1 -1
- package/dist/transforms/update-to-assignment.js +2 -6
- package/dist/transforms/update-to-assignment.js.map +1 -1
- package/dist/transforms/yodify-conditions.d.ts +2 -3
- package/dist/transforms/yodify-conditions.d.ts.map +1 -1
- package/dist/transforms/yodify-conditions.js +2 -3
- package/dist/transforms/yodify-conditions.js.map +1 -1
- package/package.json +1 -1
- package/src/obfuscator.ts +27 -13
- package/src/options.ts +12 -10
- package/src/transforms/arguments-to-parameters.ts +2 -5
- package/src/transforms/arrow-to-function.ts +3 -4
- package/src/transforms/collapse-single-use-temps.ts +2 -3
- package/src/transforms/conceal-strings.ts +2 -19
- package/src/transforms/const-let-to-var.ts +3 -4
- package/src/transforms/do-while-to-while.ts +2 -3
- package/src/transforms/drop-console.ts +1 -4
- package/src/transforms/expand-binary-assignment.ts +2 -8
- package/src/transforms/expand-logical-assignment.ts +3 -2
- package/src/transforms/extract-object-properties.ts +2 -3
- package/src/transforms/fold-builtin-methods.ts +2 -3
- package/src/transforms/fold-constants.ts +2 -2
- package/src/transforms/for-to-while.ts +2 -3
- package/src/transforms/function-declaration-to-expression.ts +3 -7
- package/src/transforms/hoist-variables.ts +2 -4
- package/src/transforms/inline-functions.ts +2 -2
- package/src/transforms/logical-to-ternary.ts +2 -2
- package/src/transforms/mangle-properties.ts +2 -3
- package/src/transforms/merge-variable-declarations.ts +1 -3
- package/src/transforms/nullish-coalescing-to-ternary.ts +2 -2
- package/src/transforms/numbers-to-strings.ts +1 -5
- package/src/transforms/object-method-to-property.ts +2 -10
- package/src/transforms/optional-chaining-to-ternary.ts +2 -3
- package/src/transforms/pack-declarations-into-parameters.ts +2 -5
- package/src/transforms/pack-expressions.ts +159 -0
- package/src/transforms/pack.ts +2 -4
- package/src/transforms/remove-unreachable-code.ts +2 -4
- package/src/transforms/remove-unused-code.ts +2 -2
- package/src/transforms/rename-identifiers.ts +2 -3
- package/src/transforms/reorder-function-declarations.ts +2 -6
- package/src/transforms/specials-to-strings.ts +2 -13
- package/src/transforms/switch-to-if.ts +3 -4
- package/src/transforms/ternary-to-if.ts +2 -3
- package/src/transforms/update-to-assignment.ts +2 -6
- package/src/transforms/yodify-conditions.ts +2 -3
|
@@ -4,10 +4,9 @@ import { traverseForChanges } from '../utils/change-tracking.js';
|
|
|
4
4
|
import { isPrimitiveLiteral } from '../utils/literal.js';
|
|
5
5
|
import { generateLoopLabel } from '../utils/loop-lowering.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* `if` blocks cannot preserve the shared switch scope.
|
|
7
|
+
* Rewrites eligible `switch` statements as equivalent `if` statements, using a
|
|
8
|
+
* labeled block when fallthrough must be preserved. Switches whose shared case
|
|
9
|
+
* scope cannot be preserved stay unchanged.
|
|
11
10
|
*
|
|
12
11
|
* @example
|
|
13
12
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-to-if.js","sourceRoot":"","sources":["../../src/transforms/switch-to-if.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D
|
|
1
|
+
{"version":3,"file":"switch-to-if.js","sourceRoot":"","sources":["../../src/transforms/switch-to-if.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* temporary
|
|
5
|
-
* hoisting would change when they run.
|
|
3
|
+
* Rewrites eligible conditional expressions as `if` statements, using a
|
|
4
|
+
* temporary when their value is needed.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ternary-to-if.d.ts","sourceRoot":"","sources":["../../src/transforms/ternary-to-if.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC
|
|
1
|
+
{"version":3,"file":"ternary-to-if.d.ts","sourceRoot":"","sources":["../../src/transforms/ternary-to-if.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAM9C"}
|
|
@@ -3,9 +3,8 @@ import { traverseForChanges } from '../utils/change-tracking.js';
|
|
|
3
3
|
import { isConditionalGate, reorderableToStatement } from '../utils/evaluation-order.js';
|
|
4
4
|
import { isStandaloneDeclaration } from '../utils/paths.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* temporary
|
|
8
|
-
* hoisting would change when they run.
|
|
6
|
+
* Rewrites eligible conditional expressions as `if` statements, using a
|
|
7
|
+
* temporary when their value is needed.
|
|
9
8
|
*
|
|
10
9
|
* @example
|
|
11
10
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ternary-to-if.js","sourceRoot":"","sources":["../../src/transforms/ternary-to-if.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ternary-to-if.js","sourceRoot":"","sources":["../../src/transforms/ternary-to-if.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
|
-
* Rewrites numeric
|
|
4
|
-
*
|
|
5
|
-
* value.
|
|
6
|
-
*
|
|
7
|
-
* BigInt differs because adding the number `1` throws. Only bindings proven to
|
|
8
|
-
* stay numeric are rewritten. Members and parameters stay unchanged.
|
|
3
|
+
* Rewrites eligible numeric update expressions as compound assignments. Postfix
|
|
4
|
+
* updates stay unchanged when their original value is used.
|
|
9
5
|
*
|
|
10
6
|
* @example
|
|
11
7
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-to-assignment.d.ts","sourceRoot":"","sources":["../../src/transforms/update-to-assignment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAKxC
|
|
1
|
+
{"version":3,"file":"update-to-assignment.d.ts","sourceRoot":"","sources":["../../src/transforms/update-to-assignment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAKxC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAErD"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
2
|
import { traverseForChanges } from '../utils/change-tracking.js';
|
|
3
3
|
/**
|
|
4
|
-
* Rewrites numeric
|
|
5
|
-
*
|
|
6
|
-
* value.
|
|
7
|
-
*
|
|
8
|
-
* BigInt differs because adding the number `1` throws. Only bindings proven to
|
|
9
|
-
* stay numeric are rewritten. Members and parameters stay unchanged.
|
|
4
|
+
* Rewrites eligible numeric update expressions as compound assignments. Postfix
|
|
5
|
+
* updates stay unchanged when their original value is used.
|
|
10
6
|
*
|
|
11
7
|
* @example
|
|
12
8
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-to-assignment.js","sourceRoot":"","sources":["../../src/transforms/update-to-assignment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D
|
|
1
|
+
{"version":3,"file":"update-to-assignment.js","sourceRoot":"","sources":["../../src/transforms/update-to-assignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
|
-
* Moves
|
|
4
|
-
*
|
|
5
|
-
* are flipped after swapping.
|
|
3
|
+
* Moves eligible literal-like right operands to the left side of comparisons,
|
|
4
|
+
* reversing relational operators as needed.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yodify-conditions.d.ts","sourceRoot":"","sources":["../../src/transforms/yodify-conditions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAMxC
|
|
1
|
+
{"version":3,"file":"yodify-conditions.d.ts","sourceRoot":"","sources":["../../src/transforms/yodify-conditions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAMxC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAEnD"}
|
|
@@ -2,9 +2,8 @@ import * as t from '@babel/types';
|
|
|
2
2
|
import { traverseForChanges } from '../utils/change-tracking.js';
|
|
3
3
|
import { isLiteralShaped } from '../utils/literal.js';
|
|
4
4
|
/**
|
|
5
|
-
* Moves
|
|
6
|
-
*
|
|
7
|
-
* are flipped after swapping.
|
|
5
|
+
* Moves eligible literal-like right operands to the left side of comparisons,
|
|
6
|
+
* reversing relational operators as needed.
|
|
8
7
|
*
|
|
9
8
|
* @example
|
|
10
9
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yodify-conditions.js","sourceRoot":"","sources":["../../src/transforms/yodify-conditions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"yodify-conditions.js","sourceRoot":"","sources":["../../src/transforms/yodify-conditions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/obfuscator.ts
CHANGED
|
@@ -38,6 +38,7 @@ import { objectMethodToProperty } from './transforms/object-method-to-property'
|
|
|
38
38
|
import { optionalChainingToTernary } from './transforms/optional-chaining-to-ternary'
|
|
39
39
|
import { pack } from './transforms/pack'
|
|
40
40
|
import { packDeclarationsIntoParameters } from './transforms/pack-declarations-into-parameters'
|
|
41
|
+
import { packExpressions } from './transforms/pack-expressions'
|
|
41
42
|
import { removeAnonymousFunctionNames } from './transforms/remove-anonymous-function-names'
|
|
42
43
|
import { removeUnreachableCode } from './transforms/remove-unreachable-code'
|
|
43
44
|
import { removeUnusedCode } from './transforms/remove-unused-code'
|
|
@@ -144,12 +145,17 @@ const POST_PROCESS: readonly ConfigurablePhase[] = [
|
|
|
144
145
|
// generated vault bindings use the caller's name generator.
|
|
145
146
|
const PROTECTION: readonly ConfigurablePhase[] = [['concealStrings', concealStrings]]
|
|
146
147
|
|
|
147
|
-
//
|
|
148
|
+
// All binding-producing passes run before renaming so their generated
|
|
149
|
+
// identifiers also receive names from the configured string generator.
|
|
148
150
|
const RENAME: readonly ConfigurablePhase[] = [['renameIdentifiers', renameIdentifiers]]
|
|
149
151
|
|
|
152
|
+
// Expression packing consumes final statement shapes and creates no bindings,
|
|
153
|
+
// so it runs after renaming and before whole-program packing.
|
|
154
|
+
const FINAL_SHAPE: readonly ConfigurablePhase[] = [['packExpressions', packExpressions]]
|
|
155
|
+
|
|
150
156
|
// Packing serializes the finished program to a string and rebuilds it through
|
|
151
157
|
// the Function constructor. It must see final names and shapes, so it runs after
|
|
152
|
-
// every other rewrite
|
|
158
|
+
// every other rewrite.
|
|
153
159
|
const PACK: readonly ConfigurablePhase[] = [['pack', pack]]
|
|
154
160
|
|
|
155
161
|
// Tests derive their all-transforms setup from this list. The phase tables remain
|
|
@@ -162,6 +168,7 @@ export const CONFIGURABLE_TRANSFORM_NAMES: readonly TransformName[] = [
|
|
|
162
168
|
...POST_PROCESS,
|
|
163
169
|
...PROTECTION,
|
|
164
170
|
...RENAME,
|
|
171
|
+
...FINAL_SHAPE,
|
|
165
172
|
...PACK,
|
|
166
173
|
].map(([name]) => name)
|
|
167
174
|
|
|
@@ -175,7 +182,7 @@ export function obfuscate(code: string, options: ObfuscatorOptions = {}): string
|
|
|
175
182
|
const ast = run(log, 'parse', () => parse(code, parserOptions))
|
|
176
183
|
|
|
177
184
|
for (const [name, fn] of BEFORE_PREPARATION) {
|
|
178
|
-
if (!
|
|
185
|
+
if (!shouldRun(name, options)) {
|
|
179
186
|
continue
|
|
180
187
|
}
|
|
181
188
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
@@ -186,7 +193,7 @@ export function obfuscate(code: string, options: ObfuscatorOptions = {}): string
|
|
|
186
193
|
}
|
|
187
194
|
|
|
188
195
|
for (const [name, fn] of PRE_LOOP) {
|
|
189
|
-
if (!
|
|
196
|
+
if (!shouldRun(name, options)) {
|
|
190
197
|
continue
|
|
191
198
|
}
|
|
192
199
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
@@ -195,35 +202,42 @@ export function obfuscate(code: string, options: ObfuscatorOptions = {}): string
|
|
|
195
202
|
runFixedPoint(ast, options, baseCtx, log)
|
|
196
203
|
|
|
197
204
|
for (const [name, fn] of LOWERING) {
|
|
198
|
-
if (!
|
|
205
|
+
if (!shouldRun(name, options)) {
|
|
199
206
|
continue
|
|
200
207
|
}
|
|
201
208
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
202
209
|
}
|
|
203
210
|
|
|
204
211
|
for (const [name, fn] of POST_PROCESS) {
|
|
205
|
-
if (!
|
|
212
|
+
if (!shouldRun(name, options)) {
|
|
206
213
|
continue
|
|
207
214
|
}
|
|
208
215
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
209
216
|
}
|
|
210
217
|
|
|
211
218
|
for (const [name, fn] of PROTECTION) {
|
|
212
|
-
if (!
|
|
219
|
+
if (!shouldRun(name, options)) {
|
|
213
220
|
continue
|
|
214
221
|
}
|
|
215
222
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
for (const [name, fn] of RENAME) {
|
|
219
|
-
if (!
|
|
226
|
+
if (!shouldRun(name, options)) {
|
|
227
|
+
continue
|
|
228
|
+
}
|
|
229
|
+
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
for (const [name, fn] of FINAL_SHAPE) {
|
|
233
|
+
if (!shouldRun(name, options)) {
|
|
220
234
|
continue
|
|
221
235
|
}
|
|
222
236
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
223
237
|
}
|
|
224
238
|
|
|
225
239
|
for (const [name, fn] of PACK) {
|
|
226
|
-
if (!
|
|
240
|
+
if (!shouldRun(name, options)) {
|
|
227
241
|
continue
|
|
228
242
|
}
|
|
229
243
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
|
|
@@ -242,7 +256,7 @@ export function obfuscate(code: string, options: ObfuscatorOptions = {}): string
|
|
|
242
256
|
)
|
|
243
257
|
}
|
|
244
258
|
|
|
245
|
-
function
|
|
259
|
+
function shouldRun(name: TransformName, options: ObfuscatorOptions): boolean {
|
|
246
260
|
const entry = options.transforms?.[name]
|
|
247
261
|
return entry !== undefined && entry !== false
|
|
248
262
|
}
|
|
@@ -277,14 +291,14 @@ function runFixedPoint(
|
|
|
277
291
|
ctx: TransformContext,
|
|
278
292
|
log: Logger | null,
|
|
279
293
|
): void {
|
|
280
|
-
const
|
|
281
|
-
if (
|
|
294
|
+
const transforms = FIXED_POINT.filter(([name]) => shouldRun(name, options))
|
|
295
|
+
if (transforms.length === 0) {
|
|
282
296
|
return
|
|
283
297
|
}
|
|
284
298
|
|
|
285
299
|
for (let iter = 0; iter < FIXED_POINT_ITERATION_CAP; iter++) {
|
|
286
300
|
let any = false
|
|
287
|
-
for (const [name, fn] of
|
|
301
|
+
for (const [name, fn] of transforms) {
|
|
288
302
|
if (run(log, name, () => fn(ast, ctx))) {
|
|
289
303
|
any = true
|
|
290
304
|
}
|
package/src/options.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { StringGeneratorModeOption } from './utils/string-generator'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Exported transform entry points. Preparation passes
|
|
5
|
-
*
|
|
4
|
+
* Exported transform entry points. Preparation passes always run and do not
|
|
5
|
+
* appear here.
|
|
6
6
|
*/
|
|
7
7
|
export type TransformName =
|
|
8
8
|
| 'dropConsole'
|
|
@@ -41,9 +41,10 @@ export type TransformName =
|
|
|
41
41
|
| 'concealStrings'
|
|
42
42
|
| 'mangleProperties'
|
|
43
43
|
| 'renameIdentifiers'
|
|
44
|
+
| 'packExpressions'
|
|
44
45
|
| 'pack'
|
|
45
46
|
|
|
46
|
-
// An
|
|
47
|
+
// An options object runs the transform and replaces its string-generator mode.
|
|
47
48
|
type TransformEntry = boolean | { stringGeneratorMode?: StringGeneratorModeOption }
|
|
48
49
|
|
|
49
50
|
/** Maps a zero-based ordinal to a stable property name. */
|
|
@@ -130,21 +131,22 @@ export interface ObfuscatorOptions {
|
|
|
130
131
|
/** Logs each pipeline step and its elapsed milliseconds to stderr. */
|
|
131
132
|
verbose?: boolean
|
|
132
133
|
/**
|
|
133
|
-
* Per-transform
|
|
134
|
-
*
|
|
134
|
+
* Per-transform entries and string-generator overrides. An omitted key or
|
|
135
|
+
* `false` means that transform does not run. Preparation passes always run.
|
|
135
136
|
*/
|
|
136
137
|
transforms?: TransformsMap
|
|
137
138
|
/**
|
|
138
|
-
*
|
|
139
|
-
* array mixes modes uniformly. Individual transforms may
|
|
140
|
-
* `transforms.<name>.stringGeneratorMode`. Default
|
|
139
|
+
* Mode used by transforms that run for generated identifiers, labels, and
|
|
140
|
+
* string contents. An array mixes modes uniformly. Individual transforms may
|
|
141
|
+
* override it through `transforms.<name>.stringGeneratorMode`. Default
|
|
142
|
+
* `'mangled'`.
|
|
141
143
|
*/
|
|
142
144
|
stringGeneratorMode?: StringGeneratorModeOption
|
|
143
|
-
/** Seed
|
|
145
|
+
/** Seed used by randomized transforms that run. Same seed, same output. Default `0`. */
|
|
144
146
|
seed?: number
|
|
145
147
|
}
|
|
146
148
|
|
|
147
|
-
// Resolved per-call
|
|
149
|
+
// Resolved per-call settings handed to each executed pass.
|
|
148
150
|
export interface TransformContext {
|
|
149
151
|
concealStrings?: ConcealStringsOptions
|
|
150
152
|
mangleProperties?: ManglePropertiesOptions
|
|
@@ -8,11 +8,8 @@ import type { ChangeState } from '../utils/change-tracking'
|
|
|
8
8
|
import { isInStrictContext } from '../utils/paths'
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Replaces numeric `arguments[i]` reads with the corresponding
|
|
12
|
-
* sloppy functions with simple parameter lists.
|
|
13
|
-
* that index is written or its parameter is reassigned. Reassigning, deleting,
|
|
14
|
-
* or passing around `arguments` disables the rewrite. Missing parameters are
|
|
15
|
-
* never added because that would change `fn.length`.
|
|
11
|
+
* Replaces eligible numeric `arguments[i]` reads with the corresponding
|
|
12
|
+
* parameter in sloppy functions with simple parameter lists.
|
|
16
13
|
*
|
|
17
14
|
* @example
|
|
18
15
|
* // ◀️ before
|
|
@@ -6,10 +6,9 @@ import { traverseForChanges } from '../utils/change-tracking'
|
|
|
6
6
|
import type { ChangeState } from '../utils/change-tracking'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Converts
|
|
10
|
-
* Arrows that use `super`
|
|
11
|
-
*
|
|
12
|
-
* function can be constructed with `new` and has a `prototype`.
|
|
9
|
+
* Converts eligible arrow functions to function expressions while preserving
|
|
10
|
+
* their lexical captures. Arrows that use `super` or whose values escape stay
|
|
11
|
+
* unchanged.
|
|
13
12
|
*
|
|
14
13
|
* @example
|
|
15
14
|
* // ◀️ before
|
|
@@ -15,9 +15,8 @@ import { valueToLiteral } from '../utils/literal'
|
|
|
15
15
|
import { isCalleeOrTagOf } from '../utils/paths'
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* another.
|
|
18
|
+
* Replaces eligible single-use temporary bindings with their values and removes
|
|
19
|
+
* the declarations.
|
|
21
20
|
*
|
|
22
21
|
* @example
|
|
23
22
|
* // ◀️ before
|
|
@@ -11,25 +11,8 @@ import { mulberry32, shuffleInPlace } from '../utils/random'
|
|
|
11
11
|
const RECORD_WIDTH = 4
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Replaces runtime string literals with calls to a generated decoder
|
|
15
|
-
*
|
|
16
|
-
* surrogates without relying on mutable built-ins. The default `regional` pool
|
|
17
|
-
* covers U+0000-00FF and every 256-unit page used by the program. `full` covers
|
|
18
|
-
* all 65,536 code units.
|
|
19
|
-
*
|
|
20
|
-
* `scope: 'program'` creates one vault. `scope: 'function'` creates a vault per
|
|
21
|
-
* function but repeats the program-wide pool in each one. Parameter defaults and
|
|
22
|
-
* computed keys use the enclosing vault because they run before the function
|
|
23
|
-
* body.
|
|
24
|
-
*
|
|
25
|
-
* Directives, module specifiers, import attributes, and non-computed keys are not
|
|
26
|
-
* runtime expressions, so they stay unchanged.
|
|
27
|
-
*
|
|
28
|
-
* This is obfuscation, not encryption. The output contains the decoder and all
|
|
29
|
-
* data needed to recover each string. `cover: 'used'` also leaves one-unit
|
|
30
|
-
* strings in the pool and may reproduce longer text by chance.
|
|
31
|
-
*
|
|
32
|
-
* The example uses `{ cover: 'used' }` to keep the pool short.
|
|
14
|
+
* Replaces runtime string literals with calls to a generated decoder backed by
|
|
15
|
+
* an obfuscated string vault.
|
|
33
16
|
*
|
|
34
17
|
* @example
|
|
35
18
|
* // ◀️ before
|
|
@@ -4,10 +4,9 @@ import * as t from '@babel/types'
|
|
|
4
4
|
import type { File } from '@babel/types'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Converts `let` and `const` declarations to `var
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* iteration's value.
|
|
7
|
+
* Converts eligible `let` and `const` declarations to `var`, renaming bindings
|
|
8
|
+
* when needed to avoid hoisting conflicts. Loop bindings stay unchanged when
|
|
9
|
+
* conversion would alter iteration behavior.
|
|
11
10
|
*
|
|
12
11
|
* @example
|
|
13
12
|
* // ◀️ before
|
|
@@ -7,9 +7,8 @@ import type { ChangeState } from '../utils/change-tracking'
|
|
|
7
7
|
import { collectLoopLabels, generateLoopLabel, redirectContinues } from '../utils/loop-lowering'
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* Rewrites `do` loops as `while
|
|
11
|
-
*
|
|
12
|
-
* The inner label is omitted when nothing uses it.
|
|
10
|
+
* Rewrites `do...while` loops as equivalent `while` loops while preserving
|
|
11
|
+
* `continue` behavior.
|
|
13
12
|
*
|
|
14
13
|
* @example
|
|
15
14
|
* // ◀️ before
|
|
@@ -8,10 +8,7 @@ import { traverseForChanges } from '../utils/change-tracking'
|
|
|
8
8
|
import type { ChangeState } from '../utils/change-tracking'
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Removes `console
|
|
12
|
-
* locally shadowed. Matches dot, bracket, and optional-chain forms.
|
|
13
|
-
* Leaves indirect uses alone (`console.log.call(...)`, assignments,
|
|
14
|
-
* `await console.log(...)`).
|
|
11
|
+
* Removes eligible `console` call expression statements.
|
|
15
12
|
*
|
|
16
13
|
* @example
|
|
17
14
|
* // ◀️ before
|
|
@@ -6,14 +6,8 @@ import { traverseForChanges } from '../utils/change-tracking'
|
|
|
6
6
|
import type { ChangeState } from '../utils/change-tracking'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Member objects and computed keys are cached so the read and write use the same
|
|
13
|
-
* evaluated receiver. The cache assignment stays on the outer write target,
|
|
14
|
-
* which evaluates before its right side.
|
|
15
|
-
*
|
|
16
|
-
* Compound and expanded forms use the same operator semantics, including BigInt.
|
|
9
|
+
* Expands arithmetic and bitwise compound assignments into simple assignments
|
|
10
|
+
* while preserving single evaluation of member receivers and computed keys.
|
|
17
11
|
*
|
|
18
12
|
* @example
|
|
19
13
|
* // ◀️ before
|
|
@@ -6,8 +6,9 @@ import { traverseForChanges } from '../utils/change-tracking'
|
|
|
6
6
|
import type { ChangeState } from '../utils/change-tracking'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Expands logical compound assignments into equivalent short-circuiting
|
|
10
|
+
* assignments while preserving single evaluation of member receivers and
|
|
11
|
+
* computed keys.
|
|
11
12
|
*
|
|
12
13
|
* @example
|
|
13
14
|
* // ◀️ before
|
|
@@ -9,9 +9,8 @@ import type { ChangeState } from '../utils/change-tracking'
|
|
|
9
9
|
import { isCalleeOrTagOf } from '../utils/paths'
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* Replaces
|
|
13
|
-
*
|
|
14
|
-
* values directly.
|
|
12
|
+
* Replaces eligible object and array wrapper bindings with separate bindings
|
|
13
|
+
* for their statically accessed entries.
|
|
15
14
|
*
|
|
16
15
|
* @example
|
|
17
16
|
* // ◀️ before
|
|
@@ -10,9 +10,8 @@ import type { ChangeState } from '../utils/change-tracking'
|
|
|
10
10
|
import { valueToLiteral } from '../utils/literal'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Replaces built-in calls and reads with smaller
|
|
14
|
-
*
|
|
15
|
-
* names, optional forms, and regexp methods stay unchanged.
|
|
13
|
+
* Replaces eligible built-in calls and property reads with smaller equivalent
|
|
14
|
+
* expressions or constants.
|
|
16
15
|
*
|
|
17
16
|
* @example
|
|
18
17
|
* // ◀️ before
|