From 3ef2234e3962c1def45041c643fa36b66ff389c7 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Sat, 21 May 2016 15:52:06 +0300 Subject: [PATCH] boolan values to JSFuck convert --- src/enums/JSFuck.js | 6 ++++++ src/enums/JSFuck.ts | 6 ++++++ src/node-obfuscators/NodeObfuscator.js | 6 ++---- src/node-obfuscators/NodeObfuscator.ts | 8 +++----- 4 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 src/enums/JSFuck.js create mode 100644 src/enums/JSFuck.ts 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; } /**