java限制反编译某些类

时间:2013-06-13 06:45:26

标签: java restriction decompiler

每当一个类被反编译时是否有可能显示一些垃圾代码。但是在运行同一个类时它应该正常工作吗? 我知道这可能看起来很奇怪,它真的可能吗? 或限制从JAR

中反编译某些类

3 个答案:

答案 0 :(得分:2)

不可能,但是你可以obfuscate代码,以便它不那么可读。通常这是足够的解决方案。

答案 1 :(得分:2)

您尝试反编译的类可能会被混淆。

来自wiki:

  

混淆是故意创建混淆代码的行为,即源代码或   机器码很难让人理解。

     

程序员可能会故意混淆代码以隐藏其目的   (通过默默无闻的安全)或其逻辑,以防止   篡改,阻止逆向工程,或作为拼图或娱乐   有人阅读源代码的挑战。

有关详细信息,请阅读:http://en.wikipedia.org/wiki/Obfuscation_(software)

有一些工具可以混淆你的代码,这里有几个:

http://www.yworks.com/en/products_yguard_about.htm

http://proguard.sourceforge.net/

答案 2 :(得分:1)

这可能达到一定程度。不是真正的垃圾字符,而是相当难以解密的代码。您正在寻找的是“Java字节码混淆器”。其中有很多,包括商业和非商业。但是,在一天结束时,如果JVM可以读取并正确运行您的代码,则可以对其进行反编译。

请注意,字节码混淆会妨碍JVM的各种优化。