mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
dev
This commit is contained in:
Vendored
+3
@@ -21,6 +21,9 @@ class Utils {
|
||||
}
|
||||
return newArray;
|
||||
}
|
||||
static btoa(string) {
|
||||
return new Buffer(encodeURI(string)).toString('base64');
|
||||
}
|
||||
static decToHex(dec) {
|
||||
const decToHexSliceValue = -6, exponent = 6, radix = 16;
|
||||
return (dec + Math.pow(radix, exponent))
|
||||
|
||||
@@ -32,7 +32,7 @@ class UnicodeArrayDecodeNode extends Node_1.Node {
|
||||
code = `
|
||||
var ${environmentName} = function(){return ${Utils_1.Utils.stringToUnicode('dev')};};
|
||||
|
||||
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}){}')() : Function(${Utils_1.Utils.stringToUnicode('a')}, ${Utils_1.Utils.stringToUnicode('a()')})(${forLoopFunctionName}) ? []['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+ *['|"].+['|"];? *}/`)})()[${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}){}')() : Function(${Utils_1.Utils.stringToUnicode('a')}, atob(${Utils_1.Utils.stringToUnicode(Utils_1.Utils.btoa('a()'))}))(${forLoopFunctionName}) ? []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')() : []['filter']['constructor'](${Utils_1.Utils.stringToJSFuck('while')} + '(${JSFuck_1.JSFuck.False}){}')();
|
||||
`;
|
||||
}
|
||||
else {
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ class NodeObfuscator {
|
||||
replaceLiteralValueByUnicodeValue(nodeValue) {
|
||||
let value = nodeValue, replaceByUnicodeArrayFlag = Math.random() <= this.options['unicodeArrayThreshold'];
|
||||
if (this.options['encodeUnicodeLiterals'] && replaceByUnicodeArrayFlag) {
|
||||
value = new Buffer(encodeURI(value)).toString('base64');
|
||||
value = Utils_1.Utils.btoa(value);
|
||||
}
|
||||
value = Utils_1.Utils.stringToUnicode(value);
|
||||
if (!this.options['unicodeArray'] || !replaceByUnicodeArrayFlag) {
|
||||
|
||||
@@ -42,6 +42,13 @@ export class Utils {
|
||||
return newArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string
|
||||
*/
|
||||
public static btoa (string: string): string {
|
||||
return new Buffer(encodeURI(string)).toString('base64');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dec
|
||||
* @returns {string}
|
||||
|
||||
@@ -85,7 +85,7 @@ export class UnicodeArrayDecodeNode extends Node {
|
||||
code = `
|
||||
var ${environmentName} = function(){return ${Utils.stringToUnicode('dev')};};
|
||||
|
||||
Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()[${Utils.stringToUnicode('test')}](${environmentName}[${Utils.stringToUnicode('toString')}]()) !== ${JSFuck.True} && !${this.unicodeArrayName}++ ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.True}){}')() : Function(${Utils.stringToUnicode('a')}, ${Utils.stringToUnicode('a()')})(${forLoopFunctionName}) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')();
|
||||
Function(${Utils.stringToUnicode(`return/\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}/`)})()[${Utils.stringToUnicode('test')}](${environmentName}[${Utils.stringToUnicode('toString')}]()) !== ${JSFuck.True} && !${this.unicodeArrayName}++ ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.True}){}')() : Function(${Utils.stringToUnicode('a')}, atob(${Utils.stringToUnicode(Utils.btoa('a()'))}))(${forLoopFunctionName}) ? []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')() : []['filter']['constructor'](${Utils.stringToJSFuck('while')} + '(${JSFuck.False}){}')();
|
||||
`;
|
||||
} else {
|
||||
code = `${forLoopFunctionName}();`;
|
||||
|
||||
@@ -101,7 +101,7 @@ export abstract class NodeObfuscator implements INodeObfuscator {
|
||||
replaceByUnicodeArrayFlag: boolean = Math.random() <= this.options['unicodeArrayThreshold'];
|
||||
|
||||
if (this.options['encodeUnicodeLiterals'] && replaceByUnicodeArrayFlag) {
|
||||
value = new Buffer(encodeURI(value)).toString('base64');
|
||||
value = Utils.btoa(value);
|
||||
}
|
||||
|
||||
value = Utils.stringToUnicode(value);
|
||||
|
||||
Reference in New Issue
Block a user