彩票走势图

logo VMPsoft中文文档

UNIX 密钥生成器


VMProtect 是新一代软件盗版保护解决方案。VMProtect 是目前强大的反盗版解决方案之一,许多领先的软件发行商都在使用它。VMProtect允许保护可执行文件(EXE,SCR),动态链接库(DLL,OCX,BPL)和驱动程序(SYS)。

VMProtect最新版下载

加密解密技术交流群(766135708)

.UNIX 版本的密钥生成器是一个 PHP 文件,其中包含生成序列号所需的所有信息。该文件位于Keygen\PHP中。下面我们描述使用这种生成器的要点。

配置生成器

在 PHP 文件的开头,设置代码位于:

//////////////////////////////////////////////////////////////////////////////////////////////
// The following lines should be generated by VMProtect License Manager
$exported_algorithm = "RSA";
$exported_bits = 2048;
$exported_private = "PJvj4kEpoQMIpYK+9wEt......xKeiSZgzdiln8Q==";
$exported_modulus = "rOlny/3QgZb/VmGr3CmY......I6ESAUmtQ+RBqQ==";
$exported_product_code = "oLQdGUn8kVk=";
//////////////////////////////////////////////////////////////////////////////////////////////

此代码由 VMProtect 自动生成(请参阅导出产品参数)并且对于每个特定产品都是唯一的。准确复制它至关重要,否则生成器将无法正常工作。

密钥的内容

生成器指定一个序列号的内容。这些内容在一个数组中指定,下面列出了密钥的所有可能参数。然而,在实际应用中,其中一些可能会被省略:

$params = array(
user_name => "John Doe", // UTF-8!
email => "john@doe.com",
hwid => "vHGMdMRvGCPjWcCQ", // Exactly as returned by VMProtectGetCurrentHWID
expire_date => array(year => 2009, month => 10, day => 1),
maxbuild_date => array(year => 2009, month => 10, day => 1),
time_limit => 10,
user_data => base64_decode("CGCvRvMWcPHGdMjQ"), // string of bytes
);

成功的密钥生成处理函数

您可以在下面看到成功生成序列号时调用的最简单的函数。发送给它的唯一参数是序列号字符串。该函数必须将序列号传递给调用者(电子商务代理),通常使用echo命令。为了方便起见,该字符串被初步拆分为每个 75 个符号的子字符串。此外,此功能可以通过电子邮件将生成的序列号发送给开发人员或将其添加到数据库中。

function OnSerialGenerated($serial)
{
$serial = wordwrap($serial, 75, "\n", true);
echo $serial;
}

密钥生成器错误处理函数

需要我们注意的代码的最后一部分是出现问题时调用的函数。此函数接收带有错误消息的字符串,完成后调用die()函数。处理程序函数必须做两件事:代替密钥,向电子商务代理返回一条消息,说明将手动发送密钥。并向开发人员发送有关错误的详尽信息以修复它并手动生成密钥。

function OnSerialGenerationFailed($details)
{
echo "You will receive serial number in the next 24 hours"; // message to the customer
// mail("support@vendor.com", "Houston, we have a problem", $details); // message to vendor
}

有几种可能的错误原因:算法参数不正确,密钥参数不正确,用户名或电子邮件太长,或者序列号太长不适合算法中指定的位数. 这就是为什么OnSerialGenerationFailed函数必须向开发人员发送有关该问题的详细信息,以便他可以生成序列号并将其发送给客户。

其他需要考虑的事情

示例包含密钥生成器的简化版本。它没有考虑开发网络生成器的建议。它不检查调用方的 IP 地址,也不分析输入参数。在开发自己的生成器时请注意这一点。用户名和电子邮件必须作为 UTF-8 字符串传递。确保您的电子商务代理以 UTF-8 编码发送这些数据,如果不是这样,则对信息进行转码。

错误的编码不会导致生成错误的序列号,但这样的序列号显示的注册名可能与真实用户名不同,所以他或她可能会在“关于”窗口中看到它时感到惊讶。应用非对称加密是一个复杂的数学过程。如果使用纯PHP实现,没有任何第三方库,生成序列号可能需要几十秒。生成器在可用时使用gmp_powm、bi_powmod、bcpowod函数。如果在您的主机上生成序列号的时间太长,我们建议要求主机提供商启用这些功能。例如,gmp_powm函数的运行速度是bcpowmod的十倍。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP