VMProtect/help/ru/manager/keygen/keygen_net.htm
VNGhostMans 5ec92ee05e first commit
Version 3.x.x
2023-05-14 20:21:09 +07:00

116 lines
6.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="Stylesheet" type="text/css" href=
"../../default.css" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<title>Генератор ключей: .Net-версия</title>
<style type="text/css">
/*<![CDATA[*/
div.c2 {text-align: center}
p.c1 {color:red;}
/*]]>*/
</style>
</head>
<body>
<h1>Генераторы ключей: .Net-версия</h1>
<h3>Описание</h3>
<p>.Net-версия генератора ключей преставляет собой сборку,
содержащую все необходимое для генерации серийных номеров.
Исходные коды находятся в каталоге <strong>Keygen\Net</strong> в
виде двух проектов: KeyGen (непосредственно генератор серийных
номеров) и Usage (пример использования генератора).</p>
<p class="c1">Генератор поставляется в исходных кодах, чтобы
иметь возможность пересобрать его под нужную версию .Net
Framework, однако крайне не рекомендуется вносить изменения в его
код. В будущих версиях VMProtect возможно добавление новых
возможностей в генератор, что приведет к необходимости повторной
модификации кода. Также возможно появление трудноуловимых ошибок.
В случае нахождения ошибки в оригинальном коде генератора или
пожеланий по его улучшению - обращайтесь в службу
поддержки.</p>
<h3>Использование генератора</h3>
<p>Возьмите за основу код из проекта <strong>Usage</strong>,
добавьте в Ваш проект ссылку на сборку VMProtect.KeyGen.dll,
после чего Вы сможете генерировать серийные номера в вашем
приложении. Для нормальной работы генератор должен понимать,
к какому продукту Вы собираетесь генерировать серийные номера.
Для этого на закладке "Лицензии" VMProtect нажмите кнопку
«Экспорт» и в выпадающем списке выберите «Параметры для
KeyGen.Net». В текстовом поле ниже появятся несколько строк
текста, которые необходимо скопировать и перенести в Ваше
приложение в виде строковой константы.</p>
<p>Пример вызова генератора представлен ниже:</p>
<pre>
try
{
string data = @""; // put the exported data here
Generator g = new Generator(data);
g.UserName = "John Doe";
g.EMail = "john@doe.com";
g.ExpirationDate = DateTime.Now.AddMonths(1);
g.MaxBuildDate = DateTime.Now.AddYears(1);
g.RunningTimeLimit = 15;
g.HardwareID = "AQIDBAgHBgU=";
g.UserData = new byte[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
string serial = g.Generate();
Console.WriteLine("Serial number:\n{0}\n", serial);
}
catch (Exception ex)
{
Console.WriteLine("Error: {0}", ex);
}
</pre>
<p>Строку, скопированную в окне экспорта VMProtect, необходимо
поместить в переменную <strong>data</strong>, которая будет
передана параметром в конструктор класса генератора серийных
номеров. В случае каких-либо проблем с разбором данных продукта,
конструктор выбросит исключение с описанием проблемы. Если
конструктор отработал успешно, то генератор готов к созданию
серийных номеров.</p>
<p>Серийный номер может содержать различную информацию, которая
задается через свойства генератора. Пример выше показывает, как
заполнить абсолютно все поля серийного номера. Отдельные поля
имеют ограничения. Например, поля <strong>User Name</strong> и
<strong>E-Mail</strong> не могут принять строки, которые в
кодировке UTF-8 будут иметь длину, превышающую 255 символов. В
случае подачи некорректных данных, свойства выбрасывают исключения с
описанием проблемы.</p>
<p>По окончании настройки генератора вызывается метод
<strong>Generate()</strong>, который и создает серийный номер. На
этом этапе происходит компоновка всех данных номера, подсчет
контрольных сумм и, непосредственно, шифрование. В случае, если
объем данных превышает максимально допустимую длину, метод выбросит
исключение.</p>
<p>В случае, если необходимо сгенерировать несколько серийных
номеров, можно использовать класс генератора несколько раз, не
пересоздавая его. Чтобы "очистить" любое из свойств генератора,
ему нужно присвоить значение <strong>null</strong>.</p><br />
<br />
<br />
<br />
<br />
<hr noshade="noshade" size="1" />
<div align="center">
© 2006-2015 Copyright VMProtect Software
</div>
</body>
</html>