mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2024-12-28 17:29:27 +03:00
116 lines
6.4 KiB
HTML
116 lines
6.4 KiB
HTML
|
<!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>
|