selfDefending test implementation

This commit is contained in:
sanex3339
2016-06-05 16:47:59 +03:00
parent ebf2a27c97
commit 59404a6ba5
5 changed files with 10 additions and 3 deletions
@@ -23,7 +23,7 @@ class SelfDefendingUnicodeNode extends Node_1.Node {
getNodeStructure() {
let node = esprima.parse(JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(`
(function () {
var func = function(){return ${Utils_1.Utils.stringToUnicode('dev')};},
var func = function(){return ${Utils_1.Utils.stringToUnicode('dev')};},
func2 = function () {
return 'window';
};
@@ -35,6 +35,9 @@ class UnicodeArrayDecodeNode extends Node_1.Node {
Function(${Utils_1.Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()[${Utils_1.Utils.stringToUnicode('test')}](${environmentName}[${Utils_1.Utils.stringToUnicode('toString')}]()) !== ${JSFuck_1.JSFuck.True} && !${this.unicodeArrayName}++ ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.True}){}')() : ${JSFuck_1.JSFuck.Window}.eval(${forLoopFunctionName}()) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')() : []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')();
`;
}
else {
code = `${forLoopFunctionName}();`;
}
node = esprima.parse(`
(function () {
${JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(`
+2 -1
View File
@@ -48,7 +48,8 @@ let obfuscatedCode = JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(`
})();
`, {
disableConsoleOutput: false,
encodeUnicodeLiterals: true
encodeUnicodeLiterals: true,
selfDefending: false
});
console.log(obfuscatedCode);
console.log(eval(obfuscatedCode));
@@ -87,6 +87,8 @@ export class UnicodeArrayDecodeNode extends Node {
Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()[${Utils.stringToUnicode('test')}](${environmentName}[${Utils.stringToUnicode('toString')}]()) !== ${JSFuck.True} && !${this.unicodeArrayName}++ ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.True}){}')() : ${JSFuck.Window}.eval(${forLoopFunctionName}()) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')();
`;
} else {
code = `${forLoopFunctionName}();`;
}
node = esprima.parse(`
+2 -1
View File
@@ -50,7 +50,8 @@ let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
`,
{
disableConsoleOutput: false,
encodeUnicodeLiterals: true
encodeUnicodeLiterals: true,
selfDefending: false
}
);