混淆/压缩/保护 JavaScript 代码

问题描述 投票:0回答:2

我正在寻找一种混淆/压缩我的 JavaScript 代码的方法。

我已经搜索过操作系统和网络,但有许多过时或损坏的教程和脚本。 另外,老实说,我没有时间对它们进行全部测试来找到少数几个在 2021 年仍然可以与 JS ES6 一起工作的。

我正在使用这样的代码:

balance = await provider.getBalance(accountSigner);
...
const networkWallet = await provider.getNetwork();

但我看到其他网站有此代码:

!function(e){function r(r){for(var n,a,i=r[0],c=r[1],f=r[2]...

我想让复制和重用我的 JS 代码变得更加困难,我知道使其 100% 不可逆是不可能的,但至少需要足够的时间来做到这一点,这是不值得的。

我的一些尝试:

  • uglifyjs -c test.js -> 它总是运行一个 5 行文件,没有使用足够的 cpu - 我几乎没有听到任何在这种情况下工作的声音,所以我认为它不起作用。没有 -c 是立即的)(与 sudo 相同)
  • closure-compiler.appspot.com:他们建议的文件也失败了,它太慢而且过时了
  • http://jsutility.pjoneil.net/ - 它不支持
    provider.on("network", (newNetwork, oldNetwork) => {
  • https://jscompress.com/ - 它似乎有效,但它只执行很少的压缩/混淆,没有混淆的选项,例如字符串
  • https://javascriptobfuscator.com/Javascript-Obfuscator.aspx - 最有用的选项仅在 Windows 的 GUI 中可用

我正在使用 Ubuntu LTS。

如果有帮助的话我也可以使用 PHP。

javascript obfuscation
2个回答
0
投票

我使用 JSDefender (https://www.preemptive.com/products/jsdefender/) 已经快一年了。它帮助我混淆了 React、Angular 和 JavaScript 项目。您可以尝试一下试用期,看看它是否也适合您的项目。


-1
投票

试试这个工具
https://javascriptobfuscator.com/Javascript-Obfuscator.aspx

balance = await provider.getBalance(accountSigner);

产生

var _0x74c0=["\x67\x65\x74\x42\x61\x6C\x61\x6E\x63\x65"];balance=  await provider[_0x74c0[0]](accountSigner)
© www.soinside.com 2019 - 2024. All rights reserved.