我正在建立一个发展工具,是写在JavaScript。

这不会是一个开放源码项目,并将被出售(希望)作为一个商业产品。

我在寻找更好的方式来保护我的投资。使用的是一种混淆(压榨机的代码)够合理地安全代码?

是否有其他替代办法,我不知道的吗?

(我不知道,如果混淆是正确的话,这是一个应用程序需要你的代码并使得它很无法读取。)

有帮助吗?

解决方案

我要告诉你一个秘密。一旦你理解了,你会感觉好很多有关的事实,Javascript混淆是唯一真正有用的带宽为节省时发送剧本过线。

你的源代码是不值得偷。

我知道这是作为一个冲击到自我,但是我可以自信地说,这从来没有见过一个行代码你写了因为外面很少的几个领域的发展严重奇迹发生的,这是真的所有源代码。

说明天,有人倾倒了一个桩的Dvd上你家门口含有源代码,用于Windows Vista。你会怎么能用它做什么?当然,你可以汇编这并放弃拷贝,但这只是一个步骤更多的努力用于复制的零售版本。你可以煞费苦心地发现并去除许可证检查代码,但这东西一些聪明的孩子已经做到的二进制文件。替代的标志和图形、假装你自己写和市场,它为"Vicrosoft米斯塔"?你会被抓到。

你可以花费大量的时间阅读的编码,试图了解它和真正的"窃取知识产权",Microsoft投资在发展中的产品。但你会失望的。你会找到代码是一个漫长系列的平凡的决定,做了一个之后。有些人会比你更聪明能想到的。有些人会离开你的摇晃你的头,想知道什么样的猴子他们正在招聘。大多数只会让你耸耸肩说"是啊,这是你如何做到这一点。"

在这个过程中,你会学到很多关于书面的操作系统,但这不会伤害Microsoft。

替换"Vista"与"豹"及上述段落不改变一个位。这不是Microsoft的,这是 软件.一半的人在这个网站可以开发一个堆栈溢出的克隆,或不在来源的这个网站。他们只是还没有。源代码的火狐及其有任何人阅读。现在去写你自己的浏览器从头开始。看到你在一个几年.

软件开发是一项投资的时间。这是彻底的傲慢来想象一下,你在做什么很特别,没有人可以克隆不看你的来源,或甚至认为这将使他们的工作,要容易得多没有一个可操作(并容易检测的)数额的剪切和粘贴。

其他提示

我深深的不同意大多数的答复所述。

这是真的,每一个软件可能被盗,尽管混淆但是,至少,它使得更难 提取和再利用的各个部分 该软件,是这一点。

也许这是更便宜的和低风险使用的混淆,比离开码开放和战斗在法院之后,有人偷走了最好的部分我们的软件和制成危险的并发。

Unobfuscated码低声说:

  • 来吧,分析我,重复使用我。也许你可以做一个更好的软件使用我。

混乱的代码表示:

  • 走开伙计。这是便宜使用自己的想法,比试图破解我。

你将是战斗的一个失败的战斗中,如果你试图混淆你的代码中的希望的人不会偷。你可以阻止随意浏览器从得到它,但是,有人专门几乎肯定能够克服任何措施使用。

在过去的我已经看到的人做几件事:

  1. 贴很多的空白在页的顶部有一个消息告诉人们的代码可用,当在现实中你需要的只是滚了几个网页获得。
  2. 通过编码器的某种类型,这是非常有用,因为它可以通过运行解码器。
  3. 另一种方法是降低可变的名字一个字,并删除的空白(这也是一个效率事)。

还有许多其他的方法。

在结束时,你们的努力很可能只会停止随意浏览器查看你的东西。如果有人专门来然后还有不少,你将能够做到的。你将要住。

我的建议将使一个真的很棒的产物,吸引了最多的人和打断任何竞争中具有最好的产品/服务/社会,而不是最模糊的代码。

你总是面临事实上,任何用户,涉及到你的网页下载的一些工作版本的你Javascript源。他们 有源代码。混淆这可能会使其非常难以被重新使用人的意图 您的辛勤工作。然而,在许多情况下,有人甚至可以重复使用的模糊源的!或者在最坏的情况下,他们可以揭开它的手,并最终理解它。

例的情况下像你这样的可能 谷歌地图.Javascript源是清楚的混淆。然而,对于真正的私人/敏感的逻辑,他们推动数据服务器并将服务器过程中,信息的使用XMLHttpRequests(AJAX).与此设计你们的重要组成部分,在服务器上面,更严格控制。

这可能是最好的你可以做。要知道,任何人都有足够的献身精神,大概可以de-混淆程序。只是确保你舒服,在开始项目中。我想最大的问题,这就是控制谁在使用它在其网站上。如果有人去了一个网站与你的代码上,并且喜欢它做什么,不管他们有什么不明白的代码,或者不能读取它的时候它们可能只是代码复制和使用他们自己的网站。

一个混淆不会帮你,如果有人想要算出代码。代码仍然存在客户机上,他们可以抓住它的一个副本,并研究它,在他们休闲。

根本就没有办法编写的代码隐藏在Javascript由于源代码已被移交给浏览器进行执行。

如果你想要隐藏你的代码,有下列选项:

1)使用的环境中,编码(未来源)下载到客户,例如闪光或力。我甚至不确定那是万无一失的,但它肯定比Javascript。

2)有一个后端服务器上面,不会的工作和瘦客户,只是提出请求到服务器。

我会说是的,这是不够的,如果你还确保比你压缩码以及使用类似的工具 院长爱德华的封隔器 或类似的。如果你想一想什么是可能的工具等。净反射器方面的逆向工程编码/IL。净,你知道,有什么可以做到完全保护您的投资。

另一方面,记住,伙计,谁放其源代码似乎也做的很好无论如何-这是他们的经验,人们想要的超过他们的知识产权。

代码混淆是足够的,需要最低限度的保护,但我认为它将肯定不足以真正保护你。如果是患者可以真的去碾压器整件事..我敢肯定还有节目来为你做它。

这就是说,你不能停止任何人从盗版你的东西,因为他们最终将会破坏任何种保护创建无论如何。它是并重容易在脚本语言在那里的代码不是编制。

如果您使用的是其他一些语言,也许java。净的,你可以尝试做的事情就像"叫回家"验证,许可证数量相匹配给定的网址。其工作的如果你在你的程序是一些排序的网上应用程序,将会在线连接所有的时间。但具有访问源,人们可以很容易地绕过那一部分。

总之,javascript是一个糟糕的选择为你在做什么。
从你在做什么是可能使用服务后获得的数据。我们的服务处理的认证/认证过程。需要一点点的工作,以确保它不是防弹的,但它 可能会 工作

如果这是一个网站,通过其本身的性质将查看它的代码一个菜单点击即是没有 真的 任何理由隐藏什么?如果有人要偷你的代码,他们将最有可能通过努力使得即使是最错位代人的可读性。看待商业网站,他们不要混淆自己的代码,也没有人出去偷取代码从google的应用程序。如果你真的担心码盗窃,我想说的是为编写它在某些其他编制的语言。(这当然摧毁整个网络应用程序的事情...)即使到那时,你是不是完全安全的,还有许多de-编出那里。

所以真的没有办法做你想要什么面对任何人都有足够的动机。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top