9

Chrome 扩展被打包到 zip 存档中。设置后,它安装在文件夹中,用户可以访问它。他也可以重写扩展,甚至克隆到新的扩展。

我如何保护扩展免受用户修改和克隆?我发现 dll 文件的可能性(可以编译) - 但它不是很好。

4

4 回答 4

9

如果您有一些专有代码(例如,您想要保持安全的特殊算法等)并且您的目标是 Chrome - 我建议您使用Native Client。Nacl 让您在浏览器中运行 C/C++ 代码。它非常强大,您可以确定有人很难进入您的二进制文件。

于 2012-08-09T06:46:13.913 回答
5

前提似乎很简单。默认情况下,浏览器解释 HTML/Javascript,与页面一起运行的 chrome 扩展也是如此。

一种方法是混淆您的 javascript 代码,或依赖 NPAPI 编译二进制插件,或使用 NaCL

在 Chrome 禁止混淆扩展后,混淆代码可能不再是解决方案:https ://stackoverflow.com/a/49509913

于 2012-08-09T11:08:24.863 回答
2

目前,您无法向用户或竞争对手隐藏您的 Chrome 扩展程序源代码。

Chrome网上商店 faq中有一条声明:

我可以在商店中出售扩展程序吗?还没有,但此功能即将推出。

您可以等待此功能或尝试以下替代方案:

  • 混淆您的 Javascript 源代码:查看更多详细信息如何混淆(保护)JavaScript?

  • 将您的关键逻辑保存在远程服务器上,并从后台脚本进行 Ajax 调用以与服务器通信

如果清单中定义了跨域权限,则 Chrome 扩展程序不受“同源策略”的约束:

常规网页可以使用 XMLHttpRequest 对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展并没有那么有限。扩展程序可以与其源之外的远程服务器通信,只要它首先请求跨域权限。

在清单中定义以下内容:

{
    "name": "your extension",
    ...
    "permissions": [
        "http://www.yourserver.com/"
    ],
    ...
}
于 2012-11-07T05:56:09.717 回答
1

我正在使用Gulp 插件进行 JavaScript 混淆。它不会破坏扩展程序的代码。

于 2015-10-30T11:18:40.257 回答