加密Chrome扩展程序?

时间:2010-12-13 05:47:08

标签: javascript google-chrome google-chrome-extension

无论如何加密Chrome扩展程序而不公开源代码?

4 个答案:

答案 0 :(得分:8)

您可以使用混淆器隐藏代码。市场上有很多可供选择。

Google Closure编译器等工具很少,市场上有很多在线javascript ofuscators。你可以使用任何。但它不保证代码的保密性。任何使用javascript的专家都可以对该代码进行去混淆。

以下是两种方法: 1.通过Web服务提供您的功能。如此重要的代码驻留在服务器上,扩展将与服务器通信,并将处理来自服务器的输出。 2.使用NPAPI,但这不是一个好方法。

按照我的说法,一个好的策略是尝试为用户提供良好的扩展。如果市场上已经有一些很棒的东西,没有人会试图复制你的插件。努力超越竞争对手。

编辑:NPAPI已被弃用。

答案 1 :(得分:4)

你可以阅读here,但你不能。你可以让你的代码难以阅读和理解,但就是这样。

(另一个问题是关于将havascript代码隐藏在html页面中,但这大致相同(据我所知,chrome-extension只是用js / css / html写的,请纠正我,如果我'我错了))

答案 2 :(得分:0)

  1. 在您的服务器上留下重要的代码逻辑(webservices help)
  2. 将敏感的html和js注入iframe(可以动态创建此html)
  3. 但我想这一切都归结为代码的架构

答案 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