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

77 lines
3.0 KiB
HTML
Raw 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>Шаг 1.10: Пользовательские данные</title>
</head>
<body>
<h1>Шаг 1.10: Пользовательские данные</h1>
<p>Серийный номер может содержать до 255 байт произвольных
данных, которые система лицензирования без изменений передает
вызывающей программе. Это может быть какая-то дополнительная
информация о продаже, данные, без которых не будет работать
полная версия, или еще что-нибудь. Изменим функцию
<strong>main()</strong>, чтобы она считывала данные из серийного
номера и показывала их на экране:</p>
<pre class="code">int main(int argc, char **argv)
{
char *serial = "Xserialnumber";
int res = VMProtectSetSerialNumber(serial);
print_state(res);
if (res) return 0;
VMProtectSerialNumberData sd = {0};
VMProtectGetSerialNumberData(&amp;sd, sizeof(sd));
printf("Serial number has %d byte(s) of data\n", sd.nUserDataLength);
for (int i = 0; i &lt; sd.nUserDataLength; i++)
printf("%02X ", sd.bUserData[i]);
printf("\n");
return 0;
}
</pre>
<p>Ini-файл при этом сократим до такого вида:</p>
<pre class="code">[TestLicense]
AcceptedSerialNumber=Xserialnumber
</pre>
<p>Теперь запустим программу и убедимся, что наш серийный номер
подходит, но не содержит никаких данных:</p>
<pre class="code">state = 0
Serial number has 0 byte(s) of data
</pre>
<p>Чтобы добавить пользовательские данные в серийный номер,
необходимо создать в ini-файле переменную UserData и присвоить ей
строчку из HEX-символов. Символы должны идти парами, т.е. длина
строки должна быть кратна 2. Строка может быть, например,
такой:</p>
<pre class="code">UserData=010203A0B0C0D0E0
</pre>
<p>В этом случае при запуске программы мы получим следующий
результат:</p>
<pre class="code">state = 0
Serial number has 8 byte(s) of data
01 02 03 A0 B0 C0 D0 E0
</pre><br />
<br />
<br />
<br />
<br />
<hr noshade="noshade" size="1" />
<div align="center">
© 2006-2015 Copyright VMProtect Software
</div>
</body>
</html>