无论如何加密Chrome扩展程序而不公开源代码?
答案 0 :(得分:8)
您可以使用混淆器隐藏代码。市场上有很多可供选择。
Google Closure编译器等工具很少,市场上有很多在线javascript ofuscators。你可以使用任何。但它不保证代码的保密性。任何使用javascript的专家都可以对该代码进行去混淆。
以下是两种方法: 1.通过Web服务提供您的功能。如此重要的代码驻留在服务器上,扩展将与服务器通信,并将处理来自服务器的输出。 2.使用NPAPI,但这不是一个好方法。
按照我的说法,一个好的策略是尝试为用户提供良好的扩展。如果市场上已经有一些很棒的东西,没有人会试图复制你的插件。努力超越竞争对手。
编辑:NPAPI已被弃用。
答案 1 :(得分:4)
你可以阅读here,但你不能。你可以让你的代码难以阅读和理解,但就是这样。
(另一个问题是关于将havascript代码隐藏在html页面中,但这大致相同(据我所知,chrome-extension只是用js / css / html写的,请纠正我,如果我'我错了))
答案 2 :(得分:0)
但我想这一切都归结为代码的架构
答案 3 :(得分:-1)
使用清单v2混淆器更难使用,因为eval
被认为是不安全的安全原因。
新的清单v2方案中最大的变化之一可能是扩展不再使用动态脚本评估技术(如eval()或new Function()),或者将JS代码字符串传递给将导致eval的函数( )使用,如setTimeout()。此外,已知某些常用的JavaScript库(如Google Maps和某些模板库)会使用其中一些技术。
来源https://developer.chrome.com/extensions/tut_migration_to_manifest_v2#using
我建议只是缩小代码。 minifiers的工作方式(假设它们并非完全相同)是删除每个空格,将变量名称更改为单个字母以减少字符。这从代码中删除了很多含义,并且很难阅读。它不是完整的证明,但它会增加额外的非常乏味的步骤来阅读您的代码。最重要的是,minifiers被设计用于压缩并使您的代码运行得更快。我最喜欢的缩放器是UglifyJS。