全自动保护Java程序
AxProtector Java是一套能节省时间和精力的Java软件集成保护理想解决方案。使用AxProtector Java,您可以以完全以自动化的方式保护您的软件免受盗版和逆向工程的侵害。
AxProtector Java可用作命令行工具,并可在自构建系统中以持续集成方式运行。
AxProtector Java能够以注入代码的附加方法的隐藏特殊的CodeMeter命令作为陷阱。任何试图破解所有加密功能的潜在攻击者都会在某个时候跌入其中一个陷阱。这将激活秘密命令并锁定许可证——阻止攻击者的踪迹并防止更多功能的进一步解密。除了这些自动设置的陷阱之外,您还可以添加自己的方法来制作更加诱导的陷阱。这个聪明的技巧使AxProtector Java成为防止受保护软件系统被攻破的极其强大的保护措施。
与简单、普通的混淆工具相比,AxProtector Java保证了更高级别的安全性。虽然标准混淆仅更改名称和打乱代码,但AxProtector Java使用严格的256位AES加密保护可执行代码。这使得即便使用对应的工具也无法反编译驱动器上受保护的应用程序;代码是在加密狗或Windows服务的安全环境中解密的,与Java级别的简单模糊处理相比,其更难被潜在的攻击者攻破。如果没有正确的许可证和正确的密钥,攻击者甚至无法从设备的内存中提取代码。隐藏陷阱的设置使得在实践中不可能对所有方法进行全面解密:在某些时候,陷阱会被弹出并锁定许可证,禁止任何其他尝试攻击的密钥。但是,将AxProtector Java与常规混淆器区分开来的不仅仅是它增加的安全性:由于不需要更改函数的名称,反射或远程处理等功能可以照常使用,而不必牺牲安全性。
AxProtector Java第2代
AxProtector Java第2代代表了针对Java SE(J2SE)和Java EE(J2EE)应用程序的全面而复杂的自动保护。作为一名软件开发人员,您需要分别加密类和方法。出于性能原因,可以排除单个类和方法。
Java应用程序中添加了一个名为AxEngine的安全外壳。在应用程序的第一次调用期间,将在运行时环境中注册AxEngine方法。此方法在加载所有类和方法期间自动执行,并确保自动解密受保护的类和方法。AxEngine由Java组件和本机JNI(Java本机接口)组件组成。
AxProtector Java第1代
出于兼容性原因,AxProtector Java第1代仍然可用。它在类级别加密JavaSE(J2SE)应用程序。因此,每个类在Java应用程序中都是单独加密的。出于性能原因,可以排除单个类。
一个名为AxEngine的安全外壳和一个打包类被添加到Java应用程序中。打包器被添加为应用程序中的新主类,因此首先执行。这个打包类首先加载一个Wibu类加载器,然后是原始的主类。Wibu类加载器负责解密受保护的类。它使用AxEngine,它由Java组件和本机JNI组件组成。
使用JNI带来的安全性
解密和大部分安全检查是在AxEngine的本机JNI部分完成的。如果CmDongle或CmActLicense中没有匹配的许可证,则无法解密。与仅使用Java的解决方案相比,使用本机组件显着提高了安全性。本机组件可用于Windows、macOS和Linux。
AxProtector Java为您的Java应用程序添加了最先进的反调试机制。受保护的应用程序确保它在原始Oracle Java虚拟机中运行。如检测到修改过的或自行开发的虚拟机,例如转储解密的类,AxProtector Java将会拒绝对受保护类进行解密。JVMTI等调试接口也被识别。
CodeMeter API的使用
与CodeMeter API的集成相比,AxProtector Java以最少的工作量提供了高级别的保护。当然也可以额外选择使用CodeMeter API。
这使您可以通过我们API的加密功能进一步加强软件保护,添加数据安全和保护,并输入特定的许可证查询。
个人许可
使用AxProtector Java,可以使用不同的产品代码加密Java应用程序的不同部分。通过创建包含所有产品代码子集的许可证,您可以将应用程序的使用仅限于购买的功能。使用CodeMeter API时,还可以启用或禁用按钮或菜单项等图形元素。
使用不同产品代码的加密提供了最大的安全性。每个产品代码都使用不同的AES密钥来加密应用程序。如果没有匹配的产品代码,则此密钥不可用,并且不可能进行未经授权的解密。
避免未经许可的逆向工程
与Protection Suite的任何其他组件一样,可以使用AxProtector Java第1代和第2代具有Protection-Only的许可证。作为软件供应商,您提供CodeMeter运行时和已与应用程序一起激活的通用许可证。应用程序的解密在CodeMeter运行时的本机部分进行,与单一Java解决方案相比,它提高了安全标准。