2011-11-21 43 views
0

我该如何部署一个java桌面应用程序,该应用程序可以在所有平台上运行,同时使其他人难以反编译和逆向工程应用程序?使用下降逆向工程保护部署跨平台的Java桌面应用程序?

更重要的是,我是否应该打扰逆向工程师和反编译器呢?

我现在的计划是让用户下载或执行.jnlp文件,它将在他们的计算机上启动桌面应用程序。采用这种方法我应该采取什么预防措施?看起来这不会对反编译我的应用程序的人提供任何保护。

我读过AOT编译器可以使我的Java应用程序本身在目标OS上运行,同时使反编译和逆向工程变得非常困难。我正在考虑http://www.excelsior-usa.com/articles/java-to-exe.html#aot这篇文章。但是,似乎在所有平台上不支持在运行时加载的jar库,并且只支持x86体系结构,所以我的应用程序在64位系统上无法工作?

回答

4

你可能不应该打扰。

ProGuard可以混淆。

一个体面的加密解决方案将花费金钱,而且对于开放源代码的Java来说,不是很难规避。有一些硬件关键解决方案,AFAIK他们很容易受到相同的技术。