selfDefending test implementation

This commit is contained in:
sanex3339
2016-06-05 17:21:06 +03:00
parent 59404a6ba5
commit 2d42d6b790
4 changed files with 10 additions and 12 deletions
@@ -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});
}
+1 -2
View File
@@ -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));
@@ -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});
}
+1 -2
View File
@@ -50,8 +50,7 @@ let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
`,
{
disableConsoleOutput: false,
encodeUnicodeLiterals: true,
selfDefending: false
encodeUnicodeLiterals: true
}
);