授权系统功能
安全序列号
授权系统使用非对称算法对序列号进行加密。该序列号使用只有开发人员拥有的私钥进行加密。受保护产品使用对应的公钥解密序列号并进行校验。由于系统使用的密钥长度(对于 RSA 为 1024 位或更高),实际上不可能计算私钥并为应用程序制作密钥生成器。
将代码锁定到序列号
VMProtect 允许在虚拟机上执行部分程序代码。每次构建受保护程序时,虚拟机的命令集都会发生变化。授权系统允许使用存储在序列号中的密钥对部分虚拟机命令进行加密。因此,即使破解者在程序中修改了条件跳转,如果没有正确的序列号,代码仍然无法工作。并且由于代码解密由虚拟机管理,即使序列号可用,解密算法也很难分析。
限制免费升级期限
授权系统可以将日期写入密钥,以便该日期之后的所有应用程序版本都不能使用此密钥。此机制允许您限制免费升级的期限。例如,在购买时将当前日期加上一年写入密钥,因此用户将能够在一年内从网站下载新版本。该密钥仅在这些版本中有效。当一年期限结束时,用户可以选择:要么使用该程序的最后一个工作版本,要么再购买一年的更新。
密钥到期日期
授权系统允许您将日期写入密钥,到期后该密钥将停止工作。对于需要系统更新的产品,这是一个方便的选择。例如,在购买时将当前日期加上一年作为密钥,该程序为给定用户工作一年。与免费升级时期不同,用户在这里别无选择 – 如果他想继续使用该程序,他必须购买新的授权。
限制程序运行时间
授权系统允许您限制程序副本的最长运行时间。这在许多演示应用程序中被证明是有用的。例如,用户想要测试程序的全功能副本。在这种情况下,您可以向他或她发送一个序列号,该序列号将程序的最大会话时间限制为十分钟。之后,程序停止运行。此选项对于用户无法轻松重新启动程序的各种服务器应用程序也很方便。
硬件锁定
授权系统允许开发人员根据 CPU、网卡和操作系统的信息接收用户 PC 的硬件标识符。授权系统可以生成仅在该硬件上有效的序列号。此选项允许您将应用程序的使用限制为多台计算机。
黑名单
如果序列号被泄露,授权系统允许将此类编号添加到黑名单中。被阻止的序列号将不适用于应用程序的所有后续版本。
数据存储
授权系统存储在序列号中并向程序提供以下数据:用户名、电子邮件和最多 255 字节的任意信息(所谓的自定义用户数据)。您可以使用此功能在程序的 “关于” 窗口中显示附加信息,在输入序列号时执行附加安全检查,存储仅在产品注册版本中可用的常量等等。
限时演示版本
借助激活系统,软件开发人员可以自动构建锁定到用户硬件的限时序列号。这允许您为应用程序设置安全试用期(演示),因为 VMProtect 不会尝试隐藏用户计算机上的试用标记,而是生成一个有效但有时间限制的序列号。激活是通过 Internet 进行的,但激活 API 也提供离线激活模式。
系统不能做什么以及为什么
100% 安全的硬件锁
除了授权系统允许将序列号锁定到硬件标识符之外,您应该了解大多数硬件数据是使用操作系统手段接收的,因此破解者可以拦截它们并修改这些信息。授权系统使用某些方法将这种风险降至最低,但如果您需要 100% 安全的硬件锁定,我们建议使用基于 USB 密钥的解决方案,该解决方案也受 VMProtect 支持。