保护Java源代码超越混淆
Java类文件很容易被反向工程化。使Java应用程序能在任何地方运行的那些属性,使反向翻译变得直接。
市场上有许多Java反编译器,它们可以生成令人惊讶的易读源代码。任何具有一般编程技能的人都可以下载Java反编译器,通过它运行你的应用程序,并几乎像阅读开源代码一样阅读源代码。
混淆
一个混淆器可以使反编译的代码变得难以理解。然而,名称混淆可能会导致反射和JNI失败,而大量的控制流混淆则会对性能产生负面影响,并可能引发VerifyError。更糟糕的是,这些问题只有在相应的类实际在应用程序运行时加载时才会显现出来,因此可能会在QA过程中被忽视。并且,通过优化编译器处理的等效C++程序的逆向工程仍然会更困难。
通过Protector4J加强保护
Protector4J可以通过加密类来保护您的java源代码,它通过修改JVM创建了一个自定义的本地ClassLoader。Java类由AES加密,并在本地ClassLoader中解密。并且它还引入了一些机制来提高破解的难度。
加密您的代码可以保护您的知识产权,并大大提高您的应用程序的安全性。它使得IP盗窃、代码篡改和安全漏洞的发现涉及到昂贵的逆向工程努力,而实际上任何人都可以下载并运行一个免费的Java反编译器。
Protector4J也可以帮助您为Windows,Linux,macOS创建您的Java App的可执行包装器