JAVA编译成CLASS文件发布。JAR发布。
但是用一些反编译软件能把代码还原出来。
那不是代码就泄露咯?如果是商业话的呢?我做了个实验下载了一个JAVA反编译的软件
把CLASS文件还原成了代码而且是一字不漏的反编译出来了包括JDK里面的CLASS文件也一样
这样JAVA代码还有什么安全而言呢?没有搞懂请高手门帮忙解答?如何才能把JAVA代码做的更安全呢?
但是用一些反编译软件能把代码还原出来。
那不是代码就泄露咯?如果是商业话的呢?我做了个实验下载了一个JAVA反编译的软件
把CLASS文件还原成了代码而且是一字不漏的反编译出来了包括JDK里面的CLASS文件也一样
这样JAVA代码还有什么安全而言呢?没有搞懂请高手门帮忙解答?如何才能把JAVA代码做的更安全呢?
网上有JAVA混淆器下载.
它会自动在编译过程中加入乱码.
然后反编译的时候里面就会有@#*($&*#*#)很多乱码.
楼主可以去试试.
如果想要安全的话,可以试下用JNI和ClassLoader来实现,首先将要加载的jar包进行加密,至于加密算法自己选吧,用自己的ClassLoader替换系统的Loader来加载程序,而ClassLoader调用JNI里的解密方法来对jar包解密再加载!
只是一个想法,可以上网搜索一下,有没有现成的实现,呵呵!
并如何使用混淆后的CLASS...混淆后的CLASS变了...还能用吗?
推荐几个嘛!混淆后的类...能直接打包使用或者直接用JAVA命令运行吗?我使用了一个混淆器...类名都变了!
是一种混淆器
用过,还可以,需要自己写脚本的。混淆好了后,你反编译出来,类名都边成 1.class,2.clsss,a.class.......里面的代码那就更不是人能看得懂的...哈哈哈
它会自动在编译过程中加入乱码.
然后反编译的时候里面就会有@#*($&*#*#)很多乱码.
..我觉得混淆器不是这样的,混淆是要把人给搞混,不是把要jvm都混淆了,否则java 程序还怎么执行??
混淆器还是需要你人告诉他混淆的规则的,哪些类是不能混淆的,入口方法在哪都要告诉他
还有这重东西,长见识了还有种笨重的方法,把JAVA转换成.exe文件。推荐工具:JSmooth。简单好用。