授权系统特性
安全序列号
license系统采用非对称算法对序列号进行加密。该号码使用只有开发人员拥有的私钥进行加密。受保护产品使用对应的公钥解密序列号并进行校验。由于系统使用的密钥长度(RSA为1024位或更高),因此实际上不可能计算出私钥并为应用程序生成密钥。
将代码锁定为序列号
VMProtect允许在虚拟机上执行部分程序代码。虚拟机的命令集在受保护程序的每次构建时都会更改。授权系统允许使用存储在序列号中的密钥对部分虚拟机命令进行加密。因此,即使黑客修改了程序中的条件跳转,如果没有正确的序列号,代码仍然无法工作。由于代码解密由虚拟机管理,即使序列号可用,也很难分析解密算法。
限制免费升级的时间
许可系统可以在密钥中写入日期,以便该日期之后的所有应用程序版本都不能使用该密钥。这个机制允许你限制免费升级的期限。例如,在购买时,将当前日期加一年写入密钥,因此用户将能够在一年内从网站下载新版本。该键将只在这些版本中工作。当一年的期限结束时,用户可以选择:要么使用该程序的最后一个工作版本,要么购买更新版本再使用一年。
使用有效期
许可系统允许您在密钥中写入日期,之后该密钥将停止工作。对于需要系统更新的产品来说,这是一个方便的选择。例如,在购买时,将当前日期加一年输入到键中,该程序为给定用户工作一年。与免费升级期不同,用户在这里没有选择——如果他想继续使用该程序,他必须购买新的许可证。
限制程序运行时间
许可系统允许您限制程序副本的最大操作时间。这在许多演示应用程序中被证明是有用的。例如,用户希望测试程序的完整功能副本。在这种情况下,您可以向他或她发送一个序列号,以限制程序的最大会话时间,例如10分钟。之后,程序停止运行。这个选项对于各种服务器应用程序也很方便,因为用户不能轻易地重新启动程序。
硬件锁
授权系统允许开发者根据CPU、网卡和操作系统等信息获得用户PC的硬件标识符。许可系统可以产生一个仅在该硬件上有效的序列号。此选项允许您将应用程序的使用限制在几台计算机上。
黑名单
如果序列号被泄露,授权系统允许将该序列号添加到黑名单中。阻塞的序列号将不能在应用程序的所有后续版本中工作。
数据存储
授权系统存储在一个序列号中,并向程序提供以下数据:用户名、电子邮件和最多255字节的任意信息(所谓的自定义用户数据)。您可以使用此功能在程序的“About”窗口中显示额外的信息,如果输入了序列号,可以实现额外的安全检查,可以存储仅在产品的注册版本中可用的常量,等等。
限时演示版本
通过激活系统,软件开发人员可以自动构建锁定到用户硬件的限时序列号。这允许您为应用程序设置一个安全的试用期(演示),因为VMProtect不会试图在用户的计算机上隐藏试用标记,而是生成一个工作但有时间限制的序列号。激活是通过Internet进行的,但是激活API还提供脱机激活模式。