Javascript库:混淆还是不混淆 - 这就是问题[关闭]

2023-12-22

我需要编写一个与 GUI 相关的 javascript 库。它将给我的网站带来一点优势(就我可以提供的功能而言)——直到我的竞争对手使用它足够长的时间来弄清楚如何自己编写它(或者最终破解下载的脚本)。我可以接受这样一个事实:随着时间的推移,它将被模仿——这是课程的标准(它的业务部分)。我只是想有几个月的喘息空间,让人们可以“哇——他们到底是怎么做到的?” - 这给了我几个月的免费宣传时间和一些转向其他事情的动力。

需要明确的是,我什至不担心核心黑客仍然会破解源代码 - 这是一场不值得战斗的失败之战(无论如何,我承认我的代码并不“那么珍贵”)。然而,我无法忍受的是,通过使用任何人都可以下载和使用的纯 JavaScript,有效地、简单地将所有本应进入库的艰苦工作移交给我的竞争对手。如果有人要使用我所做的工作,那么我肯定不想简单地将其交给他们 - 我希望他们努力解码它。如果他们可以解码它,他们应该拥有代码(他们很可能会发现他们自己可以编写更好的代码 - 他们只是没有商业意识将所有[普通]组件放入其中特别的 order) - 所以,我并不是说没有人可以写这个(在任何情况下这都是一个荒谬的主张) - 而是,我所说的是没有人(到目前为止)已经实现了我所实现的功能谈论,可用于这个特定的行业 - 而我(认为作为一个企业家而不是一个极客/编码员),想要榨取它的所有价值,同时它持续下去,即直到它(不可避免地)被黑客攻击。

一个既定的事实是,我“攻击”的行业中没有一个网站具有此功能,因此这样一个库的价值是不可否认的,并且不值得讨论(即这不是我在这里要求的)。

我想要找出混淆 javascript 库的利弊,以便我可以做出最终决定。

我最关心的两个问题是调试和混淆器可能引入的细微错误。

我想知道:

  1. 我如何管理这些风险(能够调试错误代码,确保/最小化混淆错误)

  2. 您是否可以推荐任何优质的行业标准混淆器(最好是您自己使用的东西)。

  3. 您在生产环境中使用混淆代码的经历是什么?


如果他们可以解码它,他们应该拥有代码(他们很可能会发现他们自己可以编写更好的代码 - 他们只是没有商业意识将所有[普通]组件按特定顺序排列)。

实际上,您正在尝试通过技术措施解决业务问题。

任何称职的 Javascript 程序员都应该能够通过查看产品本身轻松地重新创建您所做的任何事情,而不需要任何代码。这并不是说你正在发明一些以前从未见过的新的神奇东西,你只是以一种新的方式将各个部分组合在一起,正如你自己承认的那样。这只是 JavaScript。

即使您混淆了脚本,它仍然会按原样运行,竞争对手可以直接使用它并运行它。即使代码混乱,一些定制也不应该太难。

在您的利基业务中,如果有人“窃取”您的脚本,您可能很快就会注意到。如果发生这种情况,那就是一个法律问题。如果你的竞争对手想在法律上保持清白,他们无论如何都必须从头开始重写脚本,这会自动为你赢得一些时间。

如果您的竞争对手在技术上无法在不完全窃取代码的情况下复制您的产品,那么代码是明文还是混淆的都没有什么区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript库:混淆还是不混淆 - 这就是问题[关闭] 的相关文章

随机推荐