Можно ли использовать библиотеку javascript-obfuscator в браузере? - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь запутать некоторый код javascript, используя следующую библиотеку:

https://github.com/javascript-obfuscator/javascript-obfuscator

Мне удалось использовать Node.js, но я хотел бы получить его в браузере, просто вызвавметоды обфускатора из javascript.

Документация гласит:

В браузере:

Из модулей_узлов:

 <script src="./node_modules/javascript-obfuscator/dist/index.browser.js"/>

Я успешно установил js-Библиотека obfuscator с использованием NPM и добавленный выше код CDN в разделе head моего index.html

На данный момент я не знаю, возможно ли создать экземпляр объекта jsObfuscator без использования:

let JavaScriptObfuscator = require('javascript-obfuscator');

Я делаю простой плагин на стороне клиента, который возвращает обфусцированную версию введенного вами кода. Он работает как простая статическая страница index.html, где я не могу использовать require.

Если я пытаюсь ииспользуйте следующий код функции, jsObfuscator не определен, так как я не использовал метод require.

 function obfuscation(data) {
  let obfuscationResult = jsObfuscator.obfuscate(data, {
   compact: true,
   controlFlowFlattening: true,
   deadCodeInjection: true,
   deadCodeInjectionThreshold: 0.4,
   reservedNames: [
    'setup',
    'draw'
   ],
   reservedStrings: [
    'setup',
    'draw'
   ],
   renameGlobals: true
 });
  return obfuscationResult;
}

Знаете ли вы, как и можно ли использовать библиотеку jsObfuscatorrary в браузере?

Заранее спасибо за помощь,

Andrea

Ответы [ 2 ]

1 голос
/ 15 ноября 2019

Да, это возможно, , но это не разумно, поскольку браузер клиента сначала загружает исходный код JavaScript, код библиотеки, запускает их и, наконец, получает запутанный код. Исходный код страницы со всеми скриптами по-прежнему будет доступен из браузера, и пользователь может легко получить его.

1 голос
/ 29 октября 2019

Я нашел решение, если кому-то может быть интересно в один прекрасный день.

Посмотрев на index.browser.js в папке dist проекта, пакет экспортируется как JavaScriptObfuscator, поэтому вам нужноссылка, что вместо jsObfuscator.

...