2

保护我的“工艺”的冲动一直存在。使用 C/C++ 我发现人们可以逆向编译。经过一番心理斗争,我不知何故接受了一个残酷的事实:人们总是可以通过努力工作回到应用程序的源头。发现这一点后,我花了很多时间手动混淆代码。让饼干很难重新找回我珍贵作品的起源。

最近我有机会看到 HTML 5 和 JavaScript 的美妙之处。我从一开始就喜欢它;现在可以联系到很多人,唯一的要求是网络浏览器。我预计很多软件将被移植到 HTML 5。也许是高端游戏、完整的 CAD 程序和巨大的开发工具包。使用当前和未来的浏览器,这一切都将成为可能。

我遇到的唯一问题是;这种可移植性不允许隐藏来源。这让我非常困扰,因为我知道我提供的服务可能会被利用。
尽管我发现了很多关于 JavaScript 混淆的内容,但它始终是同一种解释语言。这意味着可以非常非常容易地逆转混淆。

现在我的实际问题是:
有谁知道隐藏在浏览器中运行的客户端代码的方法,因此很难恢复原始源代码?

4

2 回答 2

2

JavaScript 代码可以被缩小和混淆,但这只会阻止偶然的逆向工程尝试。

在客户端中运行的任何代码都可以通过足够的努力进行逆向工程。对于 JavaScript,逆向工程的门槛不是很高。

现实情况是,混淆仅在少数用例中提供真正的经济利益。就连以闭源着称的微软,也通过Entity Framework、ASP.Net MVC等项目走上了开源之路。在这些情况下,开源的经济效益显然超过了闭源的经济效益。

于 2013-04-03T18:45:04.833 回答
0

您不能隐藏页面的 javascript/html/css 源代码,因为浏览器必须能够读取它。您可以缩小/混淆它,但这只会让它有点难以阅读。

我理解你的立场——我在项目上花费了数百个小时,我不希望人们能够拿走我的代码等。

但是开源的力量实在是太大了。你无法想象有多少人实际上能够从你的工作中学习,或者在他们试图建立自己的项目中使用你的工作。这是令人难以置信的授权和值得。

我的整个职业生涯都归功于能够看到网页的来源并了解它们是如何完成的

于 2013-04-03T18:47:01.933 回答