Преглед изворни кода

Increased runtime performance with `rc4` `stringArrayEncoding`

sanex3339 пре 8 година
родитељ
комит
c7a3a2b71e

+ 4 - 0
CHANGELOG.md

@@ -1,5 +1,9 @@
 Change Log
 ===
+v0.9.4
+---
+* increased runtime performance with `rc4` `stringArrayEncoding`.
+
 v0.9.3
 ---
 * Switched from `escodegen` to `escodegen-wallaby`, fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/50

Разлика између датотеке није приказан због своје велике величине
+ 11 - 94
dist/index.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "javascript-obfuscator",
-  "version": "0.9.3",
+  "version": "0.9.4",
   "description": "JavaScript obfuscator",
   "keywords": [
     "obfuscator",

+ 4 - 2
src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayBase64DecodeNodeTemplate.ts

@@ -21,14 +21,16 @@ export function StringArrayBase64DecodeNodeTemplate (): string {
             
             {stringArrayCallsWrapperName}.initialized = true;
         }
+                  
+        var cachedValue = {stringArrayCallsWrapperName}.data[index];
                         
-        if ({stringArrayCallsWrapperName}.data[index] === undefined) {
+        if (cachedValue === undefined) {
             {selfDefendingCode}
             
             value = {stringArrayCallsWrapperName}.base64DecodeUnicode(value);
             {stringArrayCallsWrapperName}.data[index] = value;
         } else {
-            value = {stringArrayCallsWrapperName}.data[index];
+            value = cachedValue;
         }  
     `;
 }

+ 4 - 4
src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayRC4DecodeNodeTemplate.ts

@@ -13,10 +13,10 @@ export function StringArrayRc4DecodeNodeTemplate (): string {
             
             {stringArrayCallsWrapperName}.initialized = true;
         }
-        
-        index += key;
+  
+        var cachedValue = {stringArrayCallsWrapperName}.data[index];
 
-        if ({stringArrayCallsWrapperName}.data[index] === undefined) {
+        if (cachedValue === undefined) {
             if ({stringArrayCallsWrapperName}.once === undefined) {
                 {selfDefendingCode}
                 
@@ -26,7 +26,7 @@ export function StringArrayRc4DecodeNodeTemplate (): string {
             value = {stringArrayCallsWrapperName}.rc4(value, key);
             {stringArrayCallsWrapperName}.data[index] = value;
         } else {
-            value = {stringArrayCallsWrapperName}.data[index];
+            value = cachedValue;
         }
     `;
 }

Неке датотеке нису приказане због велике количине промена