mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
decode functions now ie8 compatible
This commit is contained in:
@@ -281,7 +281,7 @@ Available values:
|
||||
* `true` (`boolean`): encode `unicodeArray` values using `base64`
|
||||
* `false` (`boolean`): don't encode `unicodeArray` values
|
||||
* `'base64'` (`string`): encode `unicodeArray` values using `base64`
|
||||
* `'rc4'` (`string`): encode `unicodeArray` values using `rc4`
|
||||
* `'rc4'` (`string`): encode `unicodeArray` values using `rc4`. **Much slower then `base64`!**
|
||||
|
||||
### `unicodeArrayThreshold`
|
||||
Type: `number` Default: `0.8` Min: `0` Max: `1`
|
||||
|
||||
Vendored
+2
-2
@@ -3985,7 +3985,7 @@ exports.SelfDefendingTemplate = SelfDefendingTemplate;
|
||||
"use strict";
|
||||
|
||||
function UnicodeArrayBase64DecodeNodeTemplate() {
|
||||
return " \n if (!{unicodeArrayCallsWrapperName}.atobPolyfillAppended) {\n {atobPolyfill}\n \n {unicodeArrayCallsWrapperName}.atobPolyfillAppended = true;\n }\n \n var decodedValues = {unicodeArrayCallsWrapperName}.data || {};\n \n if (!decodedValues[index]) {\n var base64DecodeUnicode = function (str) {\n return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n \n {selfDefendingCode}\n \n value = base64DecodeUnicode(value);\n decodedValues[index] = value;\n } else {\n value = decodedValues[index];\n } \n \n {unicodeArrayCallsWrapperName}.data = decodedValues; \n ";
|
||||
return " \n if (!{unicodeArrayCallsWrapperName}.atobPolyfillAppended) {\n {atobPolyfill}\n \n {unicodeArrayCallsWrapperName}.atobPolyfillAppended = true;\n }\n \n var decodedValues = {unicodeArrayCallsWrapperName}.data || {};\n \n if (!decodedValues[index]) {\n var base64DecodeUnicode = function (str) {\n var stringChars = atob(str).split('');\n var newStringChars = '';\n \n for (var char in stringChars) {\n newStringChars += '%' + ('00' + stringChars[char].charCodeAt(0).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n }\n \n {selfDefendingCode}\n \n value = base64DecodeUnicode(value);\n decodedValues[index] = value;\n } else {\n value = decodedValues[index];\n } \n \n {unicodeArrayCallsWrapperName}.data = decodedValues; \n ";
|
||||
}
|
||||
exports.UnicodeArrayBase64DecodeNodeTemplate = UnicodeArrayBase64DecodeNodeTemplate;
|
||||
|
||||
@@ -4009,7 +4009,7 @@ exports.UnicodeArrayCallsWrapperTemplate = UnicodeArrayCallsWrapperTemplate;
|
||||
"use strict";
|
||||
|
||||
function UnicodeArrayRc4DecodeNodeTemplate() {
|
||||
return "\n if (!{unicodeArrayCallsWrapperName}.atobPolyfillAppended) {\n {atobPolyfill}\n \n {unicodeArrayCallsWrapperName}.atobPolyfillAppended = true;\n }\n \n {rc4Polyfill}\n \n var decodedValues = {unicodeArrayCallsWrapperName}.data || {};\n \n if (!decodedValues[index]) {\n var base64DecodeUnicode = function (str) {\n return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n \n {selfDefendingCode}\n \n value = rc4(base64DecodeUnicode(value), key);\n decodedValues[index] = value;\n } else {\n value = decodedValues[index];\n } \n \n {unicodeArrayCallsWrapperName}.data = decodedValues; \n ";
|
||||
return "\n if (!{unicodeArrayCallsWrapperName}.atobPolyfillAppended) {\n {atobPolyfill}\n \n {unicodeArrayCallsWrapperName}.atobPolyfillAppended = true;\n }\n \n {rc4Polyfill}\n \n var decodedValues = {unicodeArrayCallsWrapperName}.data || {};\n \n if (!decodedValues[index]) {\n var base64DecodeUnicode = function (str) {\n var stringChars = atob(str).split('');\n var newStringChars = '';\n \n for (var char in stringChars) {\n newStringChars += '%' + ('00' + stringChars[char].charCodeAt(0).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n }\n\n {selfDefendingCode}\n \n value = rc4(base64DecodeUnicode(value), key);\n decodedValues[index] = value;\n } else {\n value = decodedValues[index];\n } \n \n {unicodeArrayCallsWrapperName}.data = decodedValues; \n ";
|
||||
}
|
||||
exports.UnicodeArrayRc4DecodeNodeTemplate = UnicodeArrayRc4DecodeNodeTemplate;
|
||||
|
||||
|
||||
+8
-3
@@ -13,9 +13,14 @@ export function UnicodeArrayBase64DecodeNodeTemplate (): string {
|
||||
|
||||
if (!decodedValues[index]) {
|
||||
var base64DecodeUnicode = function (str) {
|
||||
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
|
||||
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
||||
}).join(''));
|
||||
var stringChars = atob(str).split('');
|
||||
var newStringChars = '';
|
||||
|
||||
for (var char in stringChars) {
|
||||
newStringChars += '%' + ('00' + stringChars[char].charCodeAt(0).toString(16)).slice(-2);
|
||||
}
|
||||
|
||||
return decodeURIComponent(newStringChars);
|
||||
}
|
||||
|
||||
{selfDefendingCode}
|
||||
|
||||
+9
-4
@@ -15,11 +15,16 @@ export function UnicodeArrayRc4DecodeNodeTemplate (): string {
|
||||
|
||||
if (!decodedValues[index]) {
|
||||
var base64DecodeUnicode = function (str) {
|
||||
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
|
||||
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
||||
}).join(''));
|
||||
var stringChars = atob(str).split('');
|
||||
var newStringChars = '';
|
||||
|
||||
for (var char in stringChars) {
|
||||
newStringChars += '%' + ('00' + stringChars[char].charCodeAt(0).toString(16)).slice(-2);
|
||||
}
|
||||
|
||||
return decodeURIComponent(newStringChars);
|
||||
}
|
||||
|
||||
|
||||
{selfDefendingCode}
|
||||
|
||||
value = rc4(base64DecodeUnicode(value), key);
|
||||
|
||||
Reference in New Issue
Block a user