集成到应用程序
VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C++、Visual Basic(本机)、Virtual Pascal和XCode编译器。
在下面描述的几个步骤中,我们将创建一个查询许可系统的测试应用程序:向其提供序列号,接收序列号的状态及其内容。第一阶段,我们在测试模式下使用许可系统;第二阶段我们使用它,因为它会在实际实践中使用。
许可制度的工作模式
建筑保护总是经历两个主要步骤:开发和发布。至于许可,首先您创建一个应用程序,将保护集成到其中,然后添加检查和功能限制。只有经过全面测试,您才能将产品提供给用户并开始第二阶段。受保护应用程序的测试是一个复杂的过程,因为您需要确保所有检查和条件跳转都正确运行。为所有可能的测试用例制作“真实的”序列号是不方便的。这就是许可系统也提供“开发者模式”(又名“测试模式”)的原因。在这种工作模式下,不对应用程序进行保护,系统对提供的序列号的反应在配置文件中进行调整。当应用程序没有错误并且可以正确地与许可系统一起工作时,VMProtect 将“测试”许可模块替换为执行真实序列号检查的真实许可模块。这是在应用程序受到保护时完成的,因此您不能错误地避免这一步。
第一阶段:测试模式
在测试模式下,许可系统(状态和它返回的数据)对提供的序列号的所有反应都在配置文件中描述。该文件名为 VMPLicense.ini,应位于应用程序的工作文件夹中。在下面提供的 10 个步骤中,我们将从创建最简单的应用程序到在具有硬件锁定和限制免费升级期限的测试模式下使用许可系统的全功能。
- 步骤 1.1:创建受保护的应用程序
- 步骤 1.2:添加许可证检查代码
- 步骤 1.3:检索序列号状态标志
- 步骤 1.4:检索用户的姓名和电子邮件
- 步骤 1.5:检查序列号的到期日期
- 步骤1.6:限制程序的运行时间
- 步骤 1.7:限制免费升级期限
- 步骤 1.8:黑名单中的序列号
- 步骤 1.9:硬件锁
- 步骤 1.10:用户数据
第二阶段:实模式
在实模式下,VMProtect 许可系统为受保护的应用程序放置了一个特殊的许可模块。该模块执行与 SDK 中的测试模块相同的功能,但使用序列号的内容而不是配置 ini 文件。接下来的五个步骤说明了使用基于 VMProtect 和许可系统的全功能保护来保护简单应用程序的过程。
- 步骤 2.1:创建新的受保护应用程序
- 步骤 2.2:创建 VMProtect 保护项目
- 步骤 2.3:受保护产品的首次启动
- 步骤 2.4:测试结果
- 步骤 2.5:将代码锁定为序列号
附加信息
所有位标志、结构格式和函数调用参数的值都可以在该帮助文件的许可系统 API部分找到。使用此部分作为参考,而上面提供的步骤有助于轻松实现典型的即用型保护。