主页 » 支持 » 用户手册 » 授权系统 » 集成到应用程序 » 步骤2.4:测试结果

步骤2.4:测试结果

序列号到期日期

让我们创建另一个具有特定到期日期的序列号。例如,2005。这个日期已经过去,因此我们的序列号一定是错误的。切换到 “授权” 部分,然后单击工具栏上的 “添加授权” 按钮。在 “添加授权” 对话框窗口中启用 “到期日期” 选项并指定 2005 年 9 月 30 日。创建序列号,将其复制并粘贴到 serial.txt,然后运行程序:

C:\test>dummy_app.vmp.exe
序列号错误
state = SERIAL_STATE_FLAG_DATE_EXPIRED

授权模块返回 “序列号已过期” 标志。现在,将工作序列号放回 serial.txt 文件,并确保授权模块完全接受它。

C:\test>dummy_app.vmp.exe
序列号正确,调用 foo()
我是 foo 函数
已完成

将序列号添加到黑名单

让我们想象一下,我们的 “有效” 的序列号已经泄露到 Internet 并且现在被滥用了。我们需要冻结它,以便它在程序的未来版本中不起作用。为此,请在列表中选择序列号并将主面板中的 “已冻结” 属性设置为 “是” 。目前,序列号还没有被封锁,但是当您再次保护文件时,应用程序将不再接受这个序列号。让我们确保确实如此。如果我们现在运行我们的程序,它应该毫无问题地接受被冻结的序列号,因为这是对被冻结的序列号一无所知的旧版本:

C:\test>dummy_app.vmp.exe
序列号正确,调用 foo()
我是 foo 函数
已完成

现在我们复制我们的程序并将其命名为 “dummy_app1.vmp.exe” ,然后打开 VMProtect 并再次保护应用程序。然后运行这个新版本:

C:\test>dummy_app.vmp.exe
序列号错误
state = SERIAL_STATE_FLAG_BLACKLISTED

再次与旧版本进行比较::

C:\test>dummy_app1.vmp.exe
序列号正确,调用 foo()
我是 foo 函数
已完成

旧版本不知道被冻结的序列号并像以前一样工作。

下一步 中,我们将尝试将代码锁定到序列号。但在我们继续之前,请取消冻结序列号并将 VMProtect 中的保护重新应用到应用程序,使其再次接受此序列号。或者干脆创建一个新的授权。