diff --git a/dist/src/Utils.js b/dist/src/Utils.js index bdaab6d9..6831c11d 100644 --- a/dist/src/Utils.js +++ b/dist/src/Utils.js @@ -42,7 +42,11 @@ class Utils { } static stringToUnicode(string) { const radix = 16, unicodeSliceValue = -4; + let regexp = new RegExp('[a-zA-Z]'); return `'${string.replace(/[\s\S]/g, (escape) => { + if (regexp.test(escape)) { + return '\\x' + escape.charCodeAt(0).toString(radix); + } return `\\u${('0000' + escape.charCodeAt(0).toString(radix)).slice(unicodeSliceValue)}`; })}'`; } diff --git a/dist/tests/dev-test.js b/dist/tests/dev-test.js index c6985849..85ffa3a6 100644 --- a/dist/tests/dev-test.js +++ b/dist/tests/dev-test.js @@ -35,7 +35,7 @@ let obfuscatedCode = JavaScriptObfuscator_1.JavaScriptObfuscator.obfuscate(` console.log('inside', abc.item); } - console.log('between', abc); + console.log('тест', abc); var abc = {}; diff --git a/src/Utils.ts b/src/Utils.ts index 95f008a2..a4b364c9 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -100,7 +100,13 @@ export class Utils { const radix: number = 16, unicodeSliceValue: number = -4; + let regexp: RegExp = new RegExp('[a-zA-Z]'); + return `'${string.replace(/[\s\S]/g, (escape: string): string => { + if (regexp.test(escape)) { + return '\\x' + escape.charCodeAt(0).toString(radix); + } + return `\\u${('0000' + escape.charCodeAt(0).toString(radix)).slice(unicodeSliceValue)}`; })}'`; } diff --git a/tests/dev-test.ts b/tests/dev-test.ts index 2976c8fc..69541421 100644 --- a/tests/dev-test.ts +++ b/tests/dev-test.ts @@ -36,7 +36,7 @@ let obfuscatedCode: string = JavaScriptObfuscator.obfuscate( console.log('inside', abc.item); } - console.log('between', abc); + console.log('тест', abc); var abc = {};