فهرست منبع

Updated self defending template

sanex 3 سال پیش
والد
کامیت
b5738de0b9

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.browser.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.cli.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.js


+ 1 - 1
src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts

@@ -9,7 +9,7 @@ export function SelfDefendingNoEvalTemplate (): string {
             {globalVariableTemplate}
         
             const test = function () {
-                const regExp = that.RegExp('^([^ ]+([\\\\x20\\\\x09]+[^\\\\x20\\\\x09]+)+)+[^\\\\x20\\\\x09]}');
+                const regExp = that.RegExp('([\\\\S]+([\\\\s]+[\\\\S]+)+)+[\\\\S]}');
                 
                 return !regExp.test({selfDefendingFunctionName});
             };

+ 1 - 1
src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts

@@ -10,7 +10,7 @@ export function SelfDefendingTemplate (): string {
                 const regExp = test
                     .constructor('return /" + this + "/')
                     .call()
-                    .constructor('^([^ ]+([\\\\x20\\\\x09]+[^\\\\x20\\\\x09]+)+)+[^\\\\x20\\\\x09]}');
+                    .constructor('([\\\\S]+([\\\\s]+[\\\\S]+)+)+[\\\\S]}');
                 
                 return !regExp.test({selfDefendingFunctionName});
             };

+ 7 - 6
test/functional-tests/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.spec.ts

@@ -13,7 +13,8 @@ import { beautifyCode } from '../../../../helpers/beautifyCode';
 import { JavaScriptObfuscator } from '../../../../../src/JavaScriptObfuscatorFacade';
 
 describe('SelfDefendingNoEvalTemplate', function () {
-    const evaluationTimeout: number = 3500;
+    const correctEvaluationTimeout: number = 100;
+    const redosEvaluationTimeout: number = 3500;
 
     this.timeout(10000);
 
@@ -36,7 +37,7 @@ describe('SelfDefendingNoEvalTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -70,7 +71,7 @@ describe('SelfDefendingNoEvalTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -105,7 +106,7 @@ describe('SelfDefendingNoEvalTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -140,7 +141,7 @@ describe('SelfDefendingNoEvalTemplate', function () {
                 ).getObfuscatedCode();
                 obfuscatedCode = beautifyCode(obfuscatedCode, 'space');
 
-                return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+                return evaluateInWorker(obfuscatedCode, redosEvaluationTimeout)
                     .then((result: string | null) => {
                         if (!result) {
                             return;
@@ -174,7 +175,7 @@ describe('SelfDefendingNoEvalTemplate', function () {
                 ).getObfuscatedCode();
                 obfuscatedCode = beautifyCode(obfuscatedCode, 'tab');
 
-                return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+                return evaluateInWorker(obfuscatedCode, redosEvaluationTimeout)
                     .then((result: string | null) => {
                         if (!result) {
                             return;

+ 7 - 6
test/functional-tests/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.spec.ts

@@ -12,7 +12,8 @@ import { readFileAsString } from '../../../../helpers/readFileAsString';
 import { JavaScriptObfuscator } from '../../../../../src/JavaScriptObfuscatorFacade';
 
 describe('SelfDefendingTemplate', function () {
-    const evaluationTimeout: number = 3500;
+    const correctEvaluationTimeout: number = 100;
+    const redosEvaluationTimeout: number = 3500;
 
     this.timeout(10000);
 
@@ -34,7 +35,7 @@ describe('SelfDefendingTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -67,7 +68,7 @@ describe('SelfDefendingTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -101,7 +102,7 @@ describe('SelfDefendingTemplate', function () {
                 }
             ).getObfuscatedCode();
 
-            return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+            return evaluateInWorker(obfuscatedCode, correctEvaluationTimeout)
                 .then((result: string | null) => {
                     if (!result) {
                         return;
@@ -135,7 +136,7 @@ describe('SelfDefendingTemplate', function () {
                 ).getObfuscatedCode();
                 obfuscatedCode = beautifyCode(obfuscatedCode, 'space');
 
-                return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+                return evaluateInWorker(obfuscatedCode, redosEvaluationTimeout)
                     .then((result: string | null) => {
                         if (!result) {
                             return;
@@ -168,7 +169,7 @@ describe('SelfDefendingTemplate', function () {
                 ).getObfuscatedCode();
                 obfuscatedCode = beautifyCode(obfuscatedCode, 'tab');
 
-                return evaluateInWorker(obfuscatedCode, evaluationTimeout)
+                return evaluateInWorker(obfuscatedCode, redosEvaluationTimeout)
                     .then((result: string | null) => {
                         if (!result) {
                             return;

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است