diff --git a/dist/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.js b/dist/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.js index a0d23e57..d0429390 100644 --- a/dist/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.js +++ b/dist/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.js @@ -30,14 +30,14 @@ class UnicodeArrayRotateFunctionNode extends Node_1.Node { if (this.options['selfDefending']) { code = JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(` (function () { - var func = function(){return ${Utils_1.Utils.stringToUnicode('dev')};}; + var func = function(){return ${Utils_1.Utils.stringToUnicode('dev')};}; - !Function(${Utils_1.Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})().test(func.toString()) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.True}){}')() : ${JSFuck_1.JSFuck.Window}.eval(${whileFunctionName}(${timesName})) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')() : []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')(); + !Function(${Utils_1.Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})().test(func.toString()) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.True}){}')() : ${JSFuck_1.JSFuck.Window}.eval(${whileFunctionName}(++${timesName})) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')() : []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')(); })(); `, NoCustomNodesPreset_1.NO_CUSTOM_NODES_PRESET); } else { - code = `${whileFunctionName}(${timesName})`; + code = `${whileFunctionName}(++${timesName})`; } node = esprima.parse(` (function (${arrayName}, ${timesName}) { @@ -48,7 +48,7 @@ class UnicodeArrayRotateFunctionNode extends Node_1.Node { var ${tempArrayName}; var ${whileFunctionName} = function (${timesArgumentName}) { - while (${timesArgumentName}--) { + while (--${timesArgumentName}) { ${tempArrayName} = ${arrayName}[${Utils_1.Utils.stringToUnicode('shift')}](); ${arrayName}[${Utils_1.Utils.stringToUnicode('push')}](${tempArrayName}); } diff --git a/dist/tests/dev-test.js b/dist/tests/dev-test.js index aeba5cda..0b160fbb 100644 --- a/dist/tests/dev-test.js +++ b/dist/tests/dev-test.js @@ -48,8 +48,7 @@ let obfuscatedCode = JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(` })(); `, { disableConsoleOutput: false, - encodeUnicodeLiterals: true, - selfDefending: false + encodeUnicodeLiterals: true }); console.log(obfuscatedCode); console.log(eval(obfuscatedCode)); diff --git a/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.ts b/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.ts index a85892d5..07f6865e 100644 --- a/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.ts +++ b/src/custom-nodes/unicode-array-nodes/UnicodeArrayRotateFunctionNode.ts @@ -90,13 +90,13 @@ export class UnicodeArrayRotateFunctionNode extends Node { if (this.options['selfDefending']) { code = JavaScriptObfuscator.obfuscate(` (function () { - var func = function(){return ${Utils.stringToUnicode('dev')};}; + var func = function(){return ${Utils.stringToUnicode('dev')};}; - !Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})().test(func.toString()) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.True}){}')() : ${JSFuck.Window}.eval(${whileFunctionName}(${timesName})) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')(); + !Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})().test(func.toString()) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.True}){}')() : ${JSFuck.Window}.eval(${whileFunctionName}(++${timesName})) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')(); })(); `, NO_CUSTOM_NODES_PRESET); } else { - code = `${whileFunctionName}(${timesName})`; + code = `${whileFunctionName}(++${timesName})`; } node = esprima.parse(` @@ -108,7 +108,7 @@ export class UnicodeArrayRotateFunctionNode extends Node { var ${tempArrayName}; var ${whileFunctionName} = function (${timesArgumentName}) { - while (${timesArgumentName}--) { + while (--${timesArgumentName}) { ${tempArrayName} = ${arrayName}[${Utils.stringToUnicode('shift')}](); ${arrayName}[${Utils.stringToUnicode('push')}](${tempArrayName}); } diff --git a/tests/dev-test.ts b/tests/dev-test.ts index cf73a1dc..d40bbe00 100644 --- a/tests/dev-test.ts +++ b/tests/dev-test.ts @@ -50,8 +50,7 @@ let obfuscatedCode: string = JavaScriptObfuscator.obfuscate( `, { disableConsoleOutput: false, - encodeUnicodeLiterals: true, - selfDefending: false + encodeUnicodeLiterals: true } );