每当我构建应用程序时,所有类(逻辑上)都会在它的.jar中可见。以及一个将信息保存到我的MYSQL服务器的类(供应用程序连接)。但我不希望这些信息公开!
如何"隐藏"此代码或"隐藏"类?
谢谢!!
我认为你的意思是,你不希望有人在你的jar文件中使用你的.class进行逆向工程。有很多反编译器可以做到这一点。因此,您需要使用模糊处理工具来混淆代码。
模糊处理过程将字节码转换为逻辑反编译器极难选择的等效版本分开地请记住,反编译过程极其复杂复杂且无法轻易"调整"以绕过模糊密码基本过程如下:
- 使用常规编译器(即JDK)编译Java源代码
- 运行模糊处理程序,将编译后的类文件作为参数结果将是一个不同的输出文件(可能带有不同的扩展)
此文件在重命名为.class文件时,将在功能上相当于原始字节码。不会影响性能因为虚拟机仍然能够解释它
以下是一篇更详细地描述这一过程的文章引入早期模糊处理程序Crema:
http://www.javaworld.com/javaworld/javatips/jw-javatip22.html