diff --git a/src/enums/JSFuck.js b/src/enums/JSFuck.js new file mode 100644 index 00000000..9deb04d2 --- /dev/null +++ b/src/enums/JSFuck.js @@ -0,0 +1,6 @@ +"use strict"; +const Utils_1 = require("../Utils"); +exports.JSFuck = Utils_1.Utils.strEnumify({ + False: '![]', + True: '!![]' +}); diff --git a/src/enums/JSFuck.ts b/src/enums/JSFuck.ts new file mode 100644 index 00000000..b7632c2d --- /dev/null +++ b/src/enums/JSFuck.ts @@ -0,0 +1,6 @@ +import { Utils } from "../Utils"; + +export const JSFuck: any = Utils.strEnumify({ + False: '![]', + True: '!![]' +}); diff --git a/src/node-obfuscators/NodeObfuscator.js b/src/node-obfuscators/NodeObfuscator.js index f608152a..fea047d9 100644 --- a/src/node-obfuscators/NodeObfuscator.js +++ b/src/node-obfuscators/NodeObfuscator.js @@ -1,4 +1,5 @@ "use strict"; +const JSFuck_1 = require("../enums/JSFuck"); const NodeUtils_1 = require("../NodeUtils"); const Utils_1 = require('../Utils'); class NodeObfuscator { @@ -15,10 +16,7 @@ class NodeObfuscator { } } replaceLiteralBooleanByJSFuck(nodeValue) { - if (nodeValue) { - return '!![]'; - } - return '![]'; + return nodeValue ? JSFuck_1.JSFuck.True : JSFuck_1.JSFuck.False; } replaceLiteralNumberByHexadecimalValue(nodeValue) { const prefix = '0x'; diff --git a/src/node-obfuscators/NodeObfuscator.ts b/src/node-obfuscators/NodeObfuscator.ts index e8ae36bd..88d93049 100644 --- a/src/node-obfuscators/NodeObfuscator.ts +++ b/src/node-obfuscators/NodeObfuscator.ts @@ -2,6 +2,8 @@ import { INode } from '../interfaces/INode'; import { INodeObfuscator } from '../interfaces/INodeObfuscator'; import { ITreeNode } from "../interfaces/nodes/ITreeNode"; +import { JSFuck } from "../enums/JSFuck"; + import { NodeUtils } from "../NodeUtils"; import { Utils } from '../Utils'; @@ -47,11 +49,7 @@ export abstract class NodeObfuscator implements INodeObfuscator { * @returns {string} */ protected replaceLiteralBooleanByJSFuck (nodeValue: boolean): string { - if (nodeValue) { - return '!![]'; - } - - return '![]'; + return nodeValue ? JSFuck.True : JSFuck.False; } /**