加密解密软件VMProtect教程(八)许可制度之管理许可证

news/2024/11/7 16:46:44/

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 或选择“项目”菜单中的“导入”命令

导入序列号的第一步是导入对话框:

如果输入的许可证已存在于数据库中,将打开编辑许可证窗口。否则,将出现新的许可证对话框,您可以在其中调整许可证信息并通过单击确定按钮确认许可证创建。许可证被添加到数据库中。

导入许可证参数

外部密钥生成器需要产品的密钥才能正常工作。您可以使用“项目”菜单中的“导出密钥对”命令以最合适的形式获取此信息。出现以下导出对话框:

“导出格式”字段允许您选择一种支持的格式,而“导出结果”字段包含密钥数据,格式最适合所选类型的密钥生成器。要将内容复制到剪贴板,请单击“复制”按钮。


http://www.ppmy.cn/news/74429.html

相关文章

pyqt5:py处理C语言格式数组和有符号数的转换(备忘录)

文章目录 1.问题:把下面的数组所表示的正弦波用曲线描绘出来。1.1 将C语言数组直接替换为py数组1.2 使用numpy读入数组1.3完整代码 2.从正弦波数据生成C数组2.1 正弦波数据2.2 负数转成16位带符号整型公式2.3 负数转成16位带符号整型 完整代码 3. 生成正弦波数据的代…

LeetCode-0523

1047. 删除字符串中的所有相邻重复项(简单) class Solution {public String removeDuplicates(String s) {Stack<Character> sta new Stack<>();for(int i0;i<s.length();i){char tp s.charAt(i);if(!sta.isEmpty()&&tpsta.peek()){sta.pop();contin…

从裸机启动开始运行一个C++程序(三)

先序文章请看 从裸机启动开始运行一个C程序&#xff08;二&#xff09; 从裸机启动开始运行一个C程序&#xff08;一&#xff09; 编写MBR 上一章我们已经成功地在8086上运行了指令&#xff0c;同时也介绍了nasm汇编语言。那么接下来这一章&#xff0c;我们就来看看如何写BIO…

宜搭低代码开发师(高级)「FaaS连接器加解密系统」操作步骤(亲测OK)

目录 目标: 步骤: 一、FaaS连接器 二、页面步骤介绍 目标: 轻松搞定高级认证!!! 步骤: 提示&#

单循环比赛

固定轮转编排法 固定轮转法也叫常规轮转法&#xff0c;是我国传统的编排方法。它以左边第一号固定不动&#xff0c;逆时针转动&#xff0c;逐一排出。 public function fixedRotation(){$teamlist [1, 2, 3, 4, 5,6, 0];//参赛的各队$len count($teamlist);for ($i 1; $i &l…

weblogic CVE-2014-4210 SSRF漏洞

CVE-2014-4210 SSRF漏洞 Weblogic 中存在一个SSRF漏洞&#xff0c;利用该漏洞可以发送任意HTTP请求&#xff0c;进而可以攻击内网中Redis、Fastcgi等脆弱组件 该漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp SSRF&#xff1a;服务端请求伪造&#xff0c;伪造存在该漏洞…

SpringBoot开发实用篇1

一、热部署 1.手工启动热部署 经过测试当前是没有启动热部署的&#xff1a; 再将sout的信息多复制几份&#xff0c;刷新功能&#xff0c;发现控制台还是只打印一行信息。说明当前热部署是没有生效的。 手动开启热部署&#xff1a; 在pom.xml文件中加入开发者工具配置热部署…

组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)

组合预测模型 | ARIMA-CNN-LSTM时间序列预测&#xff08;Python&#xff09; 目录 组合预测模型 | ARIMA-CNN-LSTM时间序列预测&#xff08;Python&#xff09;预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-CNN-LSTM是一种结合了传统时间序列模型和深度学习模型的…