步骤2.3:受保护产品的首次启动
授权系统已初始化,所以让我们尝试编译 VMProtect 工程并运行受保护的文件。从命令行运行它后,我们将收到以下消息:
C:\test>dummy_app.vmp.exe 序列号错误 state = SERIAL_STATE_FLAG_INVALID
如果您运行 depends.exe ,并且可以看到我们受保护的可执行文件不再使用 VMProtectSDK.dll。这意味着许可模块已经内置到程序中。您还可以查看 VMProtect 中使用的 DLL 列表,在 “详细信息 | 导入” 部分。
我们受保护的程序从 serial.txt 文件中读取序列号。由于还没有这样的文件,因此许可模块会收到一个空序列号,该序列号被解释为不正确。现在我们切换到 “授权” 部分并生成一个序列号。 这里 详细描述了此过程,现在我们仅创建一个简单的序列号,没有任何限制。
然后,我们复制序列号(在授权属性中选择 “序列号” 字段并按 Ctrl+C),在与受保护应用程序相同的文件夹中创建一个名为 serial.txt 的文件,并将复制的编号粘贴到那里。现在,如果我们运行我们的应用程序,我们将看到:
C:\test>dummy_app.vmp.exe 序列号正确,调用 foo() 我是 foo 函数 已完成
授权系统检查了序列号,发现它是正确的。在 下一步 中,我们将尝试应用一些限制来观察结果。