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

news2024/12/25 9:15:41

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.coloradmin.cn/o/553573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

加密解密软件VMProtect入门使用教程(八)许可制度之许可系统功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

‘Light轻食初试版’小程序制作到发布过程中遇到的问题

目录 前言技术栈开发经验布局字体问题图片问题协作开发 发布时遇到的问题接口问题分包、图片显示问题小程序与公众号关于测试版本 总结 前言 学完小程序方面的知识后,我花四天时间做了一个简单的微信小程序——轻食Light说。这个小程序目前叫作“Light轻食说初始版…

【R模型】R语言线性回归之简单线性回归模型 (一)

💂 个人信息:酷在前行👍 版权: 博文由【酷在前行】原创、需要转载请联系博主👀 如果博文对您有帮助,欢迎点赞、关注、收藏 订阅专栏🔖 本文收录于【R模型】,该专栏主要介绍R语言各类型机器学习…

ORA-01555-快照过旧问题处理

背景 通过监控发现ETL报错 如何处理 ORA-01555 是 Oracle 数据库的一个错误代码,表示出现了“快照太旧”的错误。这个错误通常是由于数据库中的回滚段不够大,导致无法满足当前事务的需,从而导致事务回滚失败。 具体来说,ORA-0…

如何知道调用电商API是否成功返回数据?查看错误码解释

在API调用过程中,系统可能会返回一些错误码。错误码能够帮助开发者快速准确地了解出现的异常情况。错误码的含义通常涉及到请求参数不合法、认证失败、服务器内部错误等各种问题,它们提供了有关API调用失败的信息和上下文,在错误排查和修复时…

【案例教程】环境影响与碳排放生命周期评估应用及案例分析实践技术

生命周期分析是一种分析工具,它可帮助人们进行有关如何改变产品或如何设计替代产品方面的环境决策,即由更清洁的工艺制造更清洁的产品。例如,生命周期分析的结果表明,某种产品能耗低,寿命长,不含有毒化学物…

Java实现识别发票信息

Java实现调用第三方接口识别发票信息 需求:对每个发票图片文件进行重命名,名称为发票号固定信息,主要处理增值税发票 这里需要用到第三方接口,OCR识别功能,这里我用的是百度云接口,所以你需要注册百度云账…

计算机网络:计网体系结构

计网体系结构 1. 基本概念1.0 计算机网络的发展1.0.1 第一阶段1.0.2 第二阶段1.0.3 第三阶段 1.1 计算机网络的概念1.2 计算机网络的功能1.3 计算机网络的组成1.4 计算机网络的分类1.5 标准化工作及相关组织1.6 相关性能指标1.6.1 速率1.6.2 带宽1.6.3 吞吐量1.6.4 时延1.6.5 时…

springboot+vue摄影跟拍预定管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的摄影跟拍预定管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xff1…

SSM框架学习-Spring事务管理入门

文章目录 前言六、Spring事务1.Spring事务简介2.入门案例--模拟银行间转账业务3.开启Spring事务的一般步骤4.Spring事务角色5.spring事务属性--rollbackfor6.入门案例进阶--转账业务追加日志7. Spring事务属性--事务传播行为 总结 前言 为了巩固所学的知识,作者尝试…

项目管理:有效的沟通对项目的成功至关重要

为实施有效的沟通,需要建立沟通管理计划同时理解什么是沟通,沟通的对象是谁,沟通的目标是什么,难度在哪里,并选择合适的沟通方式。 项目沟通是确保项目团队的相关信息能及时、正确地产生、收集、发布、储存和最终处理…

77.建立一个Web应用程序的布局第一部分

本次我们需要设计的布局是这样样子&#xff0c;这个很想一个邮件系统的基本布局&#xff1b; ● 首先我们生成基础代码&#xff0c;基础代码很简单&#xff0c;不用过多解释 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-…

MySQL锁应用详解

文章目录 前言MySQL锁的详解1. 表级锁1.1 读锁&#xff08;共享锁&#xff09;对比查询操作更新操作获取写锁获取读锁 1.2 写锁&#xff08;排他锁&#xff09;对比获取写锁对表进行事务操作获取表的读锁对表进行查询操作 2. 行级锁2.1 共享锁2.2 排他锁 锁的应用场景1.1 并发读…

PDF怎么添加水印?简单途径说明

在工作中&#xff0c;我们经常需要对PDF文档进行保护&#xff0c;以确保其不被未经授权的人员查看或修改。其中一种常见的保护方式是在PDF文件中添加水印。水印不仅可以保护文件的安全性&#xff0c;还可以帮助识别文档的来源以及保护版权。在本文中&#xff0c;我们将介绍如何…

如何邀请媒体记者,保证新闻发布会媒体邀约?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 要邀请媒体记者参加新闻发布会并确保他们能够接受邀请&#xff0c;可以按照以下步骤进行&#xff1a; 1.制定计划&#xff1a;确定新闻发布会的日期、时间、地点和主题。确保选择一个方…

【TCP】对TCP三次握手的个人理解

三次握手 TCP 是面向连接的协议&#xff0c;所以使用 TCP 前必须先建立连接&#xff0c;而建立连接是通过三次握手来进行的。三次握手的过程如下图&#xff1a; 一开始&#xff0c;客户端和服务端都处于 CLOSE 状态。先是服务端主动监听某个端口&#xff0c;处于 LISTEN 状态 …

功能上新|内存篇:PSS显存、内存占用、堆内存对象快照

内存管理一直是游戏研发的重中之重&#xff0c;当项目运行时的内存压力较大时&#xff0c;更容易达到设备阈值引起闪退。近年来&#xff0c;当出海成为许多游戏公司新选择的同时&#xff0c;我们也发现海外设备对项目的内存情况有着更严格的要求。 为了帮助开发者更全面地了解…

从内核角度剖析Netty高性能的奥秘IO多路复用模型与Reactor模式

Netty 是Jboos 提供的java开源框架&#xff0c; 是基于非阻塞IO&#xff08;NIO&#xff09;的客户端/服务器编程框架&#xff0c; 它既能快速开发高并发、高可用、高可靠的网络服务器程序&#xff0c;也能开发高可用、高可靠的客户端程序。 Netty 作为异步框架&#xff0c; N…

面试:从输入URL到页面加载的全过程

首先在浏览器中输入URL 查找缓存&#xff1a;浏览器先查看浏览器缓存-系统缓存-路由缓存中是否有该地址页面&#xff0c;如果有则显示页面内容。如果没有则进行下一步。 浏览器缓存&#xff1a;浏览器会记录DNS一段时间&#xff0c;因此&#xff0c;只是第一个地方解析DNS请求…

【算法排序】动态规划

目录 一、动态规划思想二、动态规划与分治法的区别1、共同点2、不同点 三、动态规划特征1、最优子结构2、重叠子问题 四、动态规划求解问题的基本步骤五、斐波那契数分析六、实现思路七、代码实现 一、动态规划思想 将待求问题划分为若干个子问题&#xff0c;按划分的顺序求解…