VMProtect/help/ru/manager/keygen/keygen_net.htm

116 lines
6.4 KiB
HTML
Raw Normal View History

2023-05-14 16:21:09 +03:00
<!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>