恳求帮助:如何有效防止别人反编译Java代码?

我费了很多心血用Java做了一个商业软件,目前,已经就要发布了,但是,一个最大的问题还没有解决好,那就是如何保护自己的软件,防止别人反编译我的代码。虽然JBuilder之际也带了一个混淆器,但是,毫无效果,修改ClassLoad并加密其它的class吧,好像对启动类无法处理。现在,恳求做过、熟悉或者其他任何对我解决这个问题有帮助的朋友提供援助。

我的联系方法是:E-mail/MSN:ejbstart@hotmail.com QQ:9818376

可以用混淆器。
具体找本书看看。^_^

用sun的工具就可以了

请楼上的兄弟说得更仔细些好吗?拜托。

呵呵,我到想寻找怎么反编译JAVA程序的方法

对于java最大的保护措施在于你的系统设计。

如果你的系统架构于一个良好的设计,至少有100个类以上,这些类之间有各种复杂关系(不是指无头绪那种),那么就是别人反编译了你的系统,他也无法真正掌握。

看看那些著名的源代码,从Jive 到PetStore 到Tomcat或Jboss源码,有几个在不寻求外援和资料的情况下能看懂这些源码?

当然,对于J2ME,目前确实没有办法。

关于反编译工具,我使用的是那个小颖反编译工具,和UE整合得很好,主要用来检查编译部署时的一些问题。

我也使用第三方的混淆工具,效果一般。
如果真正有人想反编译,也是可以做的。

哪里可以下载free的混淆工具呀

混淆的效果可以描述一下么,如果可以将方法、变量什么的都弄成a,b,c以及
1和l的效果,偶想也差不多了吧

我也想知道

我的系统设计不可能太复杂,在实现上有自己的独到的一面,效果很好,所以需要保护。请熟悉的继续多提意见啊!谢谢啊!

to jia2612
个人觉得jode是最好的

最好的办法
有很多文章都有介绍对类文件进行加密保护源码的方法。

只要重写一个ClassLoader就可以了,
在load类的时对类文件进行解密,就可以了。

这样做的问题是会对效率有点影响。

我觉得banq说得很有道理。

对于一个简单的系统,obfuscate or not,并没有什么关系,谁都能做。而且网上可以找到太多的open source的东西。你写出来的东西别人还不见得看得上。

对于一个复杂的系统,良好的设计才是最为重要的。
系统的框架之间尽量做到decoupling,被obfuscate的code效果更好,被decompile出来的东西,基本上没有什么太多参考价值。

设计越良好,应该代码就越容易懂。越decoupled,结构就越清楚。
所以,只怕良好的结构并不能有助于保密。

我想首先应该是求助于法律手段保护。其次听说是可以用classloader来加密的。但是没有研究过,不知道是否有这方面的工具。

jode好像版本太旧了吧,最后更新时间是2001-08-12 15:00,还能不能反编译JDK1.4的代码砑?