一些更高级的Java字节码混淆器所做的不仅是类名修饰。例如,Zelix KlassMaster还可以使您的代码流变得混乱,使其难以遵循,并且可以作为出色的代码优化器…
此外,许多混淆器还可以对字符串常量进行加扰并删除未使用的代码。
另一个可能的解决方案(不一定排除混淆)是使用加密的JAR文件和进行解密的自定义类加载器(最好使用本机运行时库)。
第三(可能提供最强大的保护)是使用本地的提前编译器,例如GCC或Excelsior JET,这些编译器将Java代码直接编译为平台特定的本地二进制文件。
无论如何,您都必须记住爱沙尼亚语中的俗语:“锁是为了动物”。这意味着在运行时可以使用所有代码,并将其加载到内存中,并且只要具备足够的技能,决心和动力,人们就可以并且将对代码进行反编译,解读和黑化……您的工作就是使流程像您可以并且仍然使事情正常进行…



