2

每当我构建我的应用程序时,所有类(逻辑上)都在它产生的 .jar 中可见。以及一个将信息保存到我的 MYSQL 服务器(供应用程序连接)的类。但我不希望这些信息公开可见!

如何“隐藏”此代码或“隐藏”该类?

谢谢!!

4

1 回答 1

1

我认为你的意思是你不希望有人在你的 jar 文件中对你的 .class 进行逆向工程。有许多反编译器可以做到这一点。因此,您需要使用混淆器实用程序来混淆您的代码。

混淆过程会将字节码转换为逻辑等效版本,反编译器很难将其分解。请记住,反编译过程非常复杂,不能轻易“调整”到绕过的混淆代码。基本上这个过程如下:

  1. 使用常规编译器(即 JDK)编译 Java 源代码
  2. 运行混淆器,将编译后的类文件作为参数传入。结果将是一个不同的输出文件(可能具有不同的扩展名)。

该文件在重命名为 .class 文件时,在功能上将等同于原始字节码。它不会影响性能,因为虚拟机仍然能够解释它。

这里有一篇文章更详细地描述了这个过程,并介绍了一个早期的混淆器 Crema:

http://www.javaworld.com/javaworld/javatips/jw-javatip22.html

于 2013-07-24T20:47:00.567 回答