custom node templates rework

This commit is contained in:
sanex3339
2016-11-01 19:18:15 +03:00
parent 979333e1a8
commit 225bbfd6b4
8 changed files with 73 additions and 25 deletions
+10 -5
View File
@@ -988,7 +988,7 @@ var StringLiteralReplacer = function (_AbstractReplacer_1$A) {
_createClass(StringLiteralReplacer, [{
key: 'replace',
value: function replace(nodeValue) {
var replaceWithUnicodeArrayFlag = Math.random() <= this.options.unicodeArrayThreshold;
var replaceWithUnicodeArrayFlag = nodeValue.length > StringLiteralReplacer.minimumLengthForUnicodeArray && Math.random() <= this.options.unicodeArrayThreshold;
if (this.options.unicodeArray && replaceWithUnicodeArrayFlag) {
return this.replaceStringLiteralWithUnicodeArrayCall(nodeValue);
}
@@ -1037,6 +1037,7 @@ var StringLiteralReplacer = function (_AbstractReplacer_1$A) {
return StringLiteralReplacer;
}(AbstractReplacer_1.AbstractReplacer);
StringLiteralReplacer.minimumLengthForUnicodeArray = 2;
StringLiteralReplacer.rc4Keys = Utils_1.Utils.getRandomGenerator().n(function () {
return Utils_1.Utils.getRandomGenerator().string({ length: 4 });
}, 50);
@@ -1803,11 +1804,13 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
__webpack_require__(8);
var AppendState_1 = __webpack_require__(4);
var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(64);
var AbstractCustomNode_1 = __webpack_require__(6);
var CustomNodeAppender_1 = __webpack_require__(15);
var NodeUtils_1 = __webpack_require__(1);
var Utils_1 = __webpack_require__(0);
var ConsoleOutputDisableExpressionNode = function (_AbstractCustomNode_) {
_inherits(ConsoleOutputDisableExpressionNode, _AbstractCustomNode_);
@@ -1829,7 +1832,9 @@ var ConsoleOutputDisableExpressionNode = function (_AbstractCustomNode_) {
}, {
key: 'getNodeStructure',
value: function getNodeStructure() {
return NodeUtils_1.NodeUtils.convertCodeToStructure(ConsoleOutputDisableExpressionTemplate_1.ConsoleOutputDisableExpressionTemplate());
return NodeUtils_1.NodeUtils.convertCodeToStructure(ConsoleOutputDisableExpressionTemplate_1.ConsoleOutputDisableExpressionTemplate().formatUnicorn({
consoleLogDisableFunctionName: Utils_1.Utils.getRandomVariableName()
}));
}
}]);
@@ -3941,7 +3946,7 @@ exports.Rc4Template = Rc4Template;
"use strict";
function ConsoleOutputDisableExpressionTemplate() {
return "\n (function () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n if (getGlobal().firstRun) {\n return false;\n }\n \n getGlobal().firstRun = true;\n \n var _ = '(\x04\x06\x03\x05[]' + '[\"filter\"][\"\x07tructor\"]' + '(\"return this\")()' + '.' + '\x03;\x06\x02\x05\x04};' + '_\x03.log\x01.in' + 'fo\x01.' + 'war' + 'n\x01.er' + 'r' + 'or\x01})();' + '\x01\x05_\x02;' + '_\x03\x02function' + '\x03\x07ole\x04\x02 ()' + '{\x05 = \x06var ' + '_\x07cons', \n Y, \n $;\n \n for (Y in $ = \"\x07\x06\x05\x04\x03\x02\x01\") {\n var arr = _.split($[Y]);\n _ = arr.join(arr.pop());\n }\n \n [][\"filter\"][\"constructor\"](_)();\n })()\n ";
return "\n var {consoleLogDisableFunctionName} = function () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n if (getGlobal().fetchPolyfillDisabledFlag) {\n return;\n }\n \n getGlobal().fetchPolyfillDisabledFlag = true;\n \n var _ = '(\x04\x06\x03\x05[]' + '[\"filter\"][\"\x07tructor\"]' + '(\"return this\")()' + '.' + '\x03;\x06\x02\x05\x04};' + '_\x03.log\x01.in' + 'fo\x01.' + 'war' + 'n\x01.er' + 'r' + 'or\x01})();' + '\x01\x05_\x02;' + '_\x03\x02function' + '\x03\x07ole\x04\x02 ()' + '{\x05 = \x06var ' + '_\x07cons', \n Y, \n $;\n \n for (Y in $ = \"\x07\x06\x05\x04\x03\x02\x01\") {\n var arr = _.split($[Y]);\n _ = arr.join(arr.pop());\n }\n \n [][\"filter\"][\"constructor\"](_)();\n };\n \n {consoleLogDisableFunctionName}();\n ";
}
exports.ConsoleOutputDisableExpressionTemplate = ConsoleOutputDisableExpressionTemplate;
@@ -3990,7 +3995,7 @@ exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate;
"use strict";
function DomainLockNodeTemplate() {
return "\n var {domainLockFunctionName} = function () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n var func = function () { \n return {\n key: 'item',\n value: 'attribute',\n getAttribute: function () {\n getGlobal()['eval']('while(true){}')();\n }()\n };\n };\n \n if (\n !getGlobal().argv ||\n !getGlobal().argv.appParams\n ) { \n getGlobal().argv = {\n appParams: -1\n };\n \n var regExp = new RegExp(\"[{diff}]\", \"g\");\n var domains = \"{domains}\".replace(regExp, \"\").split(\";\");\n var eval = [][\"forEach\"][\"constructor\"];\n var window = eval(\"return this\")();\n \n for (var d in window) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n break;\n }\n }\n \n for (var d1 in window[d]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n break;\n }\n }\n \n var currentDomain = window[d][d1];\n \n if (!currentDomain) {\n return;\n }\n \n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(\".\") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n }\n };\n \n {domainLockFunctionName}();\n ";
return "\n var {domainLockFunctionName} = function () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n var func = function () { \n return {\n key: 'item',\n value: 'attribute',\n getAttribute: function () {\n getGlobal()['eval']('while(true){}')();\n }()\n };\n };\n \n if (\n !getGlobal().promisePolyfillActivationFlag ||\n !getGlobal().promisePolyfillActivationFlag.isActive\n ) { \n getGlobal().promisePolyfillActivationFlag = {\n isActive: true\n };\n \n var regExp = new RegExp(\"[{diff}]\", \"g\");\n var domains = \"{domains}\".replace(regExp, \"\").split(\";\");\n var eval = [][\"forEach\"][\"constructor\"];\n var window = eval(\"return this\")();\n \n for (var d in window) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n break;\n }\n }\n \n for (var d1 in window[d]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n break;\n }\n }\n \n var currentDomain = window[d][d1];\n \n if (!currentDomain) {\n return;\n }\n \n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(\".\") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n }\n };\n \n {domainLockFunctionName}();\n ";
}
exports.DomainLockNodeTemplate = DomainLockNodeTemplate;
@@ -4003,7 +4008,7 @@ exports.DomainLockNodeTemplate = DomainLockNodeTemplate;
var Utils_1 = __webpack_require__(0);
function SelfDefendingTemplate() {
return "\n function {selfDefendingFunctionName} () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n if (\n getGlobal().process && \n getGlobal().process.appTimeoutStateCounter++ && \n getGlobal().process.appTimeoutStateCounter !== 50\n ) {\n return false;\n }\n \n getGlobal().process = {\n appTimeoutStateCounter: 50\n };\n \n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp(" + Utils_1.Utils.stringToUnicode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}") + ");\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp(" + Utils_1.Utils.stringToUnicode("(\\\\[x|u](\\w){2,4})+") + ");\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('ind\u0435xOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('ind\u0435xOf');\n }\n }\n \n {selfDefendingFunctionName}();\n ";
return "\n function {selfDefendingFunctionName} () {\n var getGlobal = function () {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n };\n \n if (\n getGlobal().argvProcess && \n getGlobal().argvProcess.appTimeoutStateCounter++ && \n getGlobal().argvProcess.appTimeoutStateCounter !== 50\n ) {\n return false;\n }\n \n getGlobal().argvProcess = {\n appTimeoutStateCounter: 50\n };\n \n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp(" + Utils_1.Utils.stringToUnicode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}") + ");\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp(" + Utils_1.Utils.stringToUnicode("(\\\\[x|u](\\w){2,4})+") + ");\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('ind\u0435xOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('ind\u0435xOf');\n }\n }\n \n {selfDefendingFunctionName}();\n ";
}
exports.SelfDefendingTemplate = SelfDefendingTemplate;