Sfoglia il codice sorgente

Improved new self defending code

sanex3339 5 anni fa
parent
commit
e3f8291657

File diff suppressed because it is too large
+ 0 - 0
dist/index.browser.js


File diff suppressed because it is too large
+ 0 - 0
dist/index.cli.js


File diff suppressed because it is too large
+ 0 - 0
dist/index.js


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

@@ -11,7 +11,9 @@ export function SelfDefendingTemplate (escapeSequenceEncoder: IEscapeSequenceEnc
     return `
     return `
         const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {
         const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {
             const test = function () {
             const test = function () {
-                const regExp = new RegExp('^([^ ]+( +[^ ]+)+)+[^ ]}');
+                const regExp = test
+                    .constructor('return /" + this + "/')()
+                    .compile('^([^ ]+( +[^ ]+)+)+[^ ]}');
                 
                 
                 return !regExp.test({selfDefendingFunctionName});
                 return !regExp.test({selfDefendingFunctionName});
             };
             };

+ 4 - 6
test/dev/dev.ts

@@ -7,15 +7,13 @@ import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNo
 
 
     let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
     let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
         `
         `
-            var foo = 'foo';
+            (function () {
+                return 1;
+            })();
         `,
         `,
         {
         {
             ...NO_ADDITIONAL_NODES_PRESET,
             ...NO_ADDITIONAL_NODES_PRESET,
-            compact: false,
-            identifierNamesGenerator: 'mangled',
-            stringArray: true,
-            stringArrayThreshold: 1,
-            stringArrayEncoding: 'base64'
+            selfDefending: true
         }
         }
     ).getObfuscatedCode();
     ).getObfuscatedCode();
 
 

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

@@ -134,7 +134,7 @@ describe('SelfDefendingTemplate', function () {
     });
     });
 
 
     describe('Variant #4: obfuscated code with beautified self defending code', () => {
     describe('Variant #4: obfuscated code with beautified self defending code', () => {
-        const expectedEvaluationResult: number = 0;
+        const expectedEvaluationResult: number = 1;
 
 
         let obfuscatedCode: string,
         let obfuscatedCode: string,
             evaluationResult: number = 0;
             evaluationResult: number = 0;
@@ -153,20 +153,18 @@ describe('SelfDefendingTemplate', function () {
                 .replace(/function\(\){/g, 'function () {')
                 .replace(/function\(\){/g, 'function () {')
                 .replace(/=/g, ' = ')
                 .replace(/=/g, ' = ')
                 .replace(/,/g, ', ')
                 .replace(/,/g, ', ')
-                .replace(/;/g, '; ')
-                .replace(/{/g, '{\n')
-                .replace(/}/g, '}\n');
+                .replace(/;/g, '; ');
 
 
             evaluateInWorker(
             evaluateInWorker(
                 obfuscatedCode,
                 obfuscatedCode,
-                (response: number) => {
-                    evaluationResult = response;
+                () => {
                     done();
                     done();
                 },
                 },
                 () => {
                 () => {
                     done();
                     done();
                 },
                 },
                 () => {
                 () => {
+                    evaluationResult = 1;
                     done();
                     done();
                 },
                 },
                 evaluationTimeout
                 evaluationTimeout

Some files were not shown because too many files changed in this diff