Chrome扩展程序已打包到zip存档。安装后,它安装在文件夹上,用户可以访问它。他也可以重写扩展名甚至克隆到新扩展名。
如何保护用户修改和克隆的扩展? 我发现dll文件的可能性(可以编译) - 但它不是很好。
答案 0 :(得分:9)
如果你有一些专有代码(例如特殊算法,你想保持安全等)并且你的目标是Chrome - 我建议你选择Native Client。 Nacl允许您在浏览器中运行C / C ++代码。它非常强大,你可以确定某人很难选择你的二进制文件。
答案 1 :(得分:5)
这个前提似乎很简单。默认情况下,浏览器会解释HTML / Javascript,因此与页面一起运行的chrome扩展也是如此。
一种方法是混淆你的javascript代码,或依赖NPAPI编译二进制插件,或使用NaCL
答案 2 :(得分:1)
目前,您无法向用户或竞争对手隐藏Chrome扩展程序源代码。
Chrome web store faq中有一条声明:
我可以在商店出售扩展程序吗? 尚未,但此功能即将推出。
您可以等待此功能或尝试以下备选方案:
模糊您的Javascript来源:查看此详细信息How can I obfuscate (protect) JavaScript?
将您的密钥逻辑保留在远程服务器上,并从后台脚本进行Ajax调用以与服务器通信
如果在清单中定义了跨域权限,则Chrome扩展程序不受“同源策略”的限制:
常规网页可以使用XMLHttpRequest对象发送和 从远程服务器接收数据,但它们受到相同的限制 原产地政策。扩展不是那么有限。扩展可以与之交谈 只要它首次请求,它的原点以外的远程服务器 跨域权限。
在清单中定义以下内容:
{
"name": "your extension",
...
"permissions": [
"http://www.yourserver.com/"
],
...
}
答案 3 :(得分:1)
我正在使用Gulp plugin for JavaScript obfuscation。它不会破坏扩展程序的代码。