VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C++、Visual Basic(本机)、Virtual Pascal和XCode编译器。
同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择要保护的代码片段。
为了轻松实现应用程序保护任务的自动化,VMProtect实现了内置脚本语言。VMProtect完全支持Windows系列的32/64位操作系统(从Windows 2000开始)和Mac OSX(从版本10.6开始)。重要的是,无论目标平台如何,VMProtect都支持所有范围的可执行文件,即Windows版本可以处理Mac OS X版本的文件,反之亦然。
VMProtect是保护应用程序代码免遭分析和破解的可靠工具,但只有在正确构建应用程序内保护机制并且没有可能破坏整个保护的典型错误的情况下才能最有效地使用。
许可制度
“许可制度”包含以下小节:
许可系统功能
许可系统如何运作
管理许可证
如何将系统集成到您的应用程序的示例
自动序列号生成
许可系统如何运作
应用保护
为了保护应用程序,VMProtect 将特殊代码嵌入其中。此代码使用“项目”部分的“许可”小节中指定的信息检查序列号。公钥嵌入到应用程序中,然后用于解密序列号。此外,保护日期和许可工作所需的一些附加信息也被放入应用程序中。
创建序列号
可以在“项目”部分的“许可”部分或使用第三方应用程序 –密钥生成器创建序列号。序列号是使用非对称算法加密的有关客户的一组数据。然后将序列号传递给客户,他或她将其输入程序,然后许可系统对其进行检查。
检查程序中的序列号
许可系统有几个函数可以用来处理序列号。该程序向许可系统发送一个序列号并查询有关它的信息。许可系统返回序列号的状态(有效/无效和原因),还可以提供有关序列号的详细信息,包括用户名、电子邮件、序列号的到期日期等。受保护程序分析序列号信息并决定是否继续运行和限制功能。
管理许可证
初始化
默认情况下,许可功能处于关闭状态。要启用它们,您应该在“项目”部分的“许可证”小节中创建一对密钥。如果项目链接到许可证管理器数据库(在旧版本的 VMProtect 中,许可证管理器是一个独立的程序),VMProtect 将建议您将相应的许可证导入到项目中。初始化完成后,锁定到序列号选项将可用,您将能够创建和处理序列号。
界面
界面”部分在左侧面板中显示许可证的完整列表,在主面板中显示所选元素的参数。
右侧面板显示有关所选许可证的详细信息。它还允许阻止序列号、将其复制到剪贴板或查看硬件 ID 信息(通过单击它)。
创建许可证
要添加新许可证,请单击工具栏上的相应按钮。A出现添加许可证对话框:
对话框的上半部分允许指定新许可证的主要参数。下部配置哪些参数最终将放入序列号中,并允许添加其他数据:例如,硬件标识符或自定义用户数据。填写完数据后,单击“确定”,VMProtect 将创建一个新许可证。
删除和劝阻许可证
要删除许可证,请在许可证列表中右键单击它,然后在上下文菜单中选择“删除”。或者只需选择许可证并按 Del。要阻止许可证,请将主面板中的“已阻止”参数设置为“是”。
删除许可证和记录许可证之间存在差异。删除的序列号不会被许可系统阻止。它们根本不存在于数据库中。如果许可证是错误创建的,并且序列号从未发送给任何人,您可以删除此类许可证。但是,如果序列号被泄露,您不应该只是删除许可证,而应该阻止它。在这种情况下,关于这个序列号的信息被传递给许可系统,它不会再接受这个序列号。
导入许可证
序列号不仅可以在 VMProtect 中创建,还可以在第三方程序——密钥生成器中创建。密钥生成器允许您在购买许可证时自动向电子商务代理提供序列号。要将此类序列号添加到数据库中,您可以导入它们。要导入序列号,请按 Ctrl+I 或选择“项目”菜单中的“导入”命令
导入序列号的第一步是导入对话框:
如果输入的许可证已存在于数据库中,将打开编辑许可证窗口。否则,将出现新的许可证对话框,您可以在其中调整许可证信息并通过单击确定按钮确认许可证创建。许可证被添加到数据库中。
导入许可证参数
外部密钥生成器需要产品的密钥才能正常工作。您可以使用“项目”菜单中的“导出密钥对”命令以最合适的形式获取此信息。出现以下导出对话框:
“导出格式”字段允许您选择一种支持的格式,而“导出结果”字段包含密钥数据,格式最适合所选类型的密钥生成器。要将内容复制到剪贴板,请单击“复制”按钮。