每当一个类被反编译时是否有可能显示一些垃圾代码。但是在运行同一个类时它应该正常工作吗? 我知道这可能看起来很奇怪,它真的可能吗? 或限制从JAR
中反编译某些类答案 0 :(得分:2)
不可能,但是你可以obfuscate
代码,以便它不那么可读。通常这是足够的解决方案。
答案 1 :(得分:2)
您尝试反编译的类可能会被混淆。
来自wiki:
混淆是故意创建混淆代码的行为,即源代码或 机器码很难让人理解。
程序员可能会故意混淆代码以隐藏其目的 (通过默默无闻的安全)或其逻辑,以防止 篡改,阻止逆向工程,或作为拼图或娱乐 有人阅读源代码的挑战。
有关详细信息,请阅读:http://en.wikipedia.org/wiki/Obfuscation_(software)
有一些工具可以混淆你的代码,这里有几个:
答案 2 :(得分:1)
这可能达到一定程度。不是真正的垃圾字符,而是相当难以解密的代码。您正在寻找的是“Java字节码混淆器”。其中有很多,包括商业和非商业。但是,在一天结束时,如果JVM可以读取并正确运行您的代码,则可以对其进行反编译。
请注意,字节码混淆会妨碍JVM的各种优化。