加密软件VMProtect教程:如何激活系统

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最新版下载(qun:766135708)icon-default.png?t=N6B9https://www.evget.com/product/1859/download

在 VMProtect 中配置激活功能

要使激活API工作,需要 WebLM URL,因此你应该在 VMProtect 的项目设置中指定它。要做到这一点,打开 VMProtect 并切换到选项部分:

在 VMProtect 中配置激活功能

在 "Activation Server "栏中输入地址。该地址应该看起来像:http://yourserver/weblm path/activate.php。这是检查你是否面临网络激活问题的第一步。

在Web License Manager中激活

你可以在我们的网站上找到详细的Web License Manager描述,在这里我们只提供创建激活API使用的激活码所需的最简单步骤。

首先,进入 Web License Manager(你可以使用我们网站上的演示)并创建一个产品。然后将该产品导出为 VMProtect 项目,以便能够配置许可和激活。在项目设置好后,所有的检查都被添加到你的应用程序的代码中,并且可执行文件被保护起来,点击WebLM中左侧面板上的 "Add New Code"链接:

(EXE,SCR),动态链接库(DLL,OCX,BPL)和驱动程序(SYS)。

从上面的下拉列表中选择你需要的产品,并在表格的其余部分填写你想放入序列号的数据。点击 "Save "按钮。你应该看到激活码,你可以用它来调试激活API。

在Web License Manager中激活

你可以在在线用户手册中研究Web License Manager的丰富功能(如整合到电子商务供应商和自动生成激活码)。

激活API

激活API只包含4个功能。两个用于在线激活,另外两个用于计算机无法访问互联网时的离线激活。激活 API 旨在与 Web License Manager 合作,因此开发人员仍应调用许可系统 API 来使用从 WebLM 获得的序列号。

VMProtectActivateLicense

该函数将激活代码传递给服务器,并返回该特定计算机的序列号。否则,会表现为一个错误代码。

int VMProtectActivateLicense(const char *code, char *serial, int size); 

代码参数保存在购买许可证过程中从Web License Manager获得的激活代码。序列参数指定了一个给定大小的内存块,WebLM生成的序列号被放置在其中。

VMProtectDeactivateLicense

该函数将一个序列号传递给服务器进行停用。可能的返回代码列在下面。

int VMProtectDeactivateLicense(const char *serial); 

序列参数包含先前在激活期间从WebLM获得的序列号(而不是激活码)。

VMProtectGetOfflineActivationString
VMProtectGetOfflineDeactivationString

这两个函数的工作原理与前两个类似,只是它们不尝试连接到WebLM服务器。相反,当它们返回一个文本块,用户应将其复制到连接到互联网的计算机上,打开WebLM离线激活表格并将文本粘贴到那里。

int VMProtectGetOfflineActivationString(const char *code, char *buf, int size);

int VMProtectGetOfflineDeactivationString(const char *serial, char *buf, int size);

代码和序列参数与这些函数的在线版本类似。buf参数应指向一个1000字节以上的缓冲区,离线激活表的文本块将被复制到那里。可能的错误代码列举如下。

Code Value Description
ACTIVATION_OK 0 激活是成功的。序列号被放到序列变量中。
ACTIVATION_SMALL_BUFFER 1 缓冲区太小,无法容纳序列号。最小的缓冲区大小计算为:比特/8*3/2+N,其中比特是RSA密钥的长度,单位为比特,N是一个 "security constant"--用于可能的换行和其他特殊符号的额外字节。我们建议至少使用10。
ACTIVATION_NO_CONNECTION 2 激活模块无法连接到网络许可证管理器。
ACTIVATION_BAD_REPLY 3 激活服务器返回了错误结果。表明服务器上的一些配置问题,错误的服务器URL或黑客企图。
ACTIVATION_BANNED 4 该激活码由软件供应商通过WebLM界面在服务器上禁止使用(例如,如果密钥泄露或盗版)。不能与ACTIVATION_ALREADY_USED混淆。
ACTIVATION_CORRUPTED 5 有些东西已经完全出错了。这个错误是由激活模块自检系统产生的,表明有黑客试图入侵。如果你出现了错误,所有进一步的序列号和激活的操作都不安全。
ACTIVATION_BAD_CODE 6 在激活服务器的数据库中没有找到指定的代码或者用户在输入代码时犯了一个错误,需要对代码进行检查
ACTIVATION_ALREADY_USED 7 当出现这个错误代码时,表明激活次数已经耗尽,但这并不表明该代码是不完整的或被禁止的。该代码是完整的,它只是不能再被激活了。用户应该联系软件供应商,购买额外的许可证或在其他电脑上卸载软件,以增加服务器上的激活计数器的值。
ACTIVATION_SERIAL_UNKNOWN 8 激活错误。在服务器的数据库中找不到给定的序列号。因此,停用是不可以的。
ACTIVATION_EXPIRED 9 激活错误。意味着该代码的激活期已过。
ACTIVATION_NOT_AVAILABLE 10 这个错误意味着激活/停用无法使用。

技巧和窍门

激活API操作较为容易,不要忘记为那些在互联网上有问题的用户提供一种离线激活程序的方法。

激活API不保存它收到的序列号,也不把它传给许可模块--这应该由开发者来做。你不需要在每次启动应用程序时都调用激活API。你只需要调用一次,从WebLM获得一个序列号,在适当的地方保存它,然后使用这个保存的副本。

猜你喜欢

转载自blog.csdn.net/m0_67129275/article/details/131976329
今日推荐