2

我正在开发一个 JavaScript/HTML5 游戏,显然任何人都将能够阅读代码,我宁愿不要发生这种情况。我很感激我无法阻止人们阅读 JavaScript;我可以通过掩盖它来使其变得更加困难,但不能阻止它。

我可以将它转换为 Java 小程序(我怀疑这些仍然可以进行逆向工程,但我认为这会更难)只需要一个薄的 JavaScript 包装器(如果需要)。

有人还提到可能使用 jQuery 和 JSON,但我怀疑客户端/服务器交互可能有点慢,无法实现。

有谁知道阻止人们抄袭我的工作的其他方法?

4

4 回答 4

2

如果是 javascript,其他人都可以读取,无论您使用JQuery还是AJAX,因为它必须由客户端计算机处理,因此需要将其传输给它。

如果您坚持使用 JavaScript,最好的办法是混淆您的代码。这样,人们就很难窃取您的代码。

如果您将其转换为 Java Applet,它只会稍微好一点,因为客户端可以检索您的 Applet,并且有JD之类的 Java 反编译器可以帮助他至少部分了解源代码。您必须通过类似ProGuard的东西来运行它,以混淆该代码。

如果它必须在客户端运行,无论您选择哪种语言,您的代码源都至少有很小的可能性被查看。您所能做的就是使用混淆使您的代码更难阅读、理解和逆向工程。

于 2012-07-19T11:58:00.307 回答
1

我apreciate我不能阻止人们阅读javascript,我可以通过掩盖它来使其变得更加困难,但不能阻止它。

没错,尽管高级模式下的Closure 编译器使人类几乎完全无法阅读代码。(它还对其进行了优化,在适当的地方内联 [以防以后运行它的 JavaScript 引擎没有],删除死代码,并使标识符尽可能短,以及其他一些事情。)

我可以将它转换为 Java 小程序(我怀疑逆向工程这些仍然是可能的,但我认为这会更难)......

是的,这完全有可能。有一些工具可以将 Java 字节码(将交付给客户端的内容)转换回可读源代码。变量名和其他一些东西丢失了,代码可能看起来有点奇怪,但工具就在那里。不过,坦率地说,我完全不确定这会比处理 Closure 编译器的高级优化版本更难。

有人还提到可能使用 JQuery 和 JSON ......

他们一定不明白,客户也完全可以阅读这些内容。

有谁知道阻止人们抄袭我的工作的其他方法?

我最好的建议是 Closure 编译器。如果做不到这一点,如果您愿意走专有路线,请使用 Flash——但 Flash 应用程序,如 Java 小程序,可以进行逆向工程。我的印象是它比对 Java 小程序进行逆向工程更难,但我对 Flash 知之甚少。

于 2012-07-19T12:05:56.980 回答
0

我会说你最好的选择是不要尝试。如果您通过网络传递源代码,人们将能够阅读它。混淆可能会使事情变得更加困难,但不会阻止某人下定决心。你可能最想阻止的是那些坚定的人。我建议您简单地接受它:干净清晰地编写代码,使用缩小器来缩小下载大小,并接受其他人如果愿意也可以阅读的事实。


如果你真的想把它移植到另一种语言,那很好。但是 Java 小程序几乎同样容易解码,因此您必须在服务器端进行解码,或者以不同于浏览器的其他方式进行解码。如果这种权衡对您来说是值得的,那么有很多可用的编译语言。

于 2012-07-19T12:01:27.633 回答
0

混淆是你最好的选择。目标不是阻止他们阅读您的源代码,而是让他们更容易/更便宜地手动重新创建它,从而阻止他们窃取您的工作。

于 2012-07-19T12:03:47.220 回答