【问题标题】:Is it possible to use the javascript-obfuscator library on the browser?是否可以在浏览器上使用 javascript-obfuscator 库?
【发布时间】:2020-02-23 23:07:30
【问题描述】:

我正在尝试使用以下库来混淆一些 javascript 代码:

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

我使用 Node.js 取得了成功,但我希望通过简单地从 javascript 调用混淆器方法在浏览器上使用它。

文档说:

在浏览器中:

来自 node_modules:

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

我已经使用 NPM 成功安装了 js-obfuscator 库,并在我的 index.html 的 head 部分添加了上面的 CDN 代码

此时我不知道是否可以在不使用的情况下实例化对象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;
}

你知道如何以及是否可以在浏览器上使用 jsObfuscator 库吗?

【问题讨论】:

    标签: javascript node.js browser obfuscation


    【解决方案1】:

    是的,这是可能的,但这不合理,因为客户端的浏览器首先下载库的代码JavaScript源代码,运行它们,最后得到混淆代码。包含所有脚本的页面源代码仍然可以从浏览器访问,用户可以轻松获取。

    【讨论】:

    • 也许他正在尝试制作小应用程序供自己使用。
    【解决方案2】:

    如果有一天有人感兴趣,我已经找到了解决方案。

    通过查看项目的 dist 文件夹中的 index.browser.js,该包被导出为 JavaScriptObfuscator,因此您必须引用它而不是 jsObfuscator。

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 2011-07-24
      • 2011-01-05
      相关资源
      最近更新 更多