保护最终用户的 PhantomJS 脚本

Protect script for PhantomJS from end-user

我需要将 PhantomJS 的几个副本与我制作的脚本一起部署,问题是最终用户不应该看到脚本的内容或编辑它。有办法吗?我知道我可以混淆 JavaScript,但它很弱而且很容易反击。

在 PhantomJS 中有没有什么方法可以保护脚本不被最终用户读取和编辑?也许以某种方式加密它?

一般来说,没有

试图阻止编辑:

您可以通过将 PhantomJS 源代码更改为仅接受您签名的脚本来增加编辑脚本的难度。然后,您需要将签名密钥的 public 密钥添加到相同的 PhantomJS 源中,并将签名添加到脚本中。

这可能不会完成任何事情,因为用户可以简单地使用官方的 PhantomJS 可执行文件来执行这些脚本。

加密:

您可以使用 AES 等对称块密码加密您的脚本,然后将密钥放入 PhantomJS(再次更改源代码)。如果将它与上述方法结合使用,您可以确保脚本 "cannot be read" 并且在您未检测到更改的情况下无法对其进行编辑。

但是一切都可以被逆向工程,因此可以从可执行文件中提取密钥。