mirror of
				https://github.com/Obfuscator-Collections/VMProtect.git
				synced 2025-10-30 03:41:31 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			224 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			224 lines
		
	
	
		
			10 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>API Активации</title>
 | ||
|   <style type="text/css">
 | ||
| /*<![CDATA[*/
 | ||
|                 th {text-align:left;}
 | ||
|                 table {border-collapse:collapse; margin-top: 4px;}
 | ||
|                 td,th {border: 1px solid #B0B0B0; padding-left:10;padding-right:10;}
 | ||
|     /*]]>*/
 | ||
|   </style>
 | ||
| </head>
 | ||
| 
 | ||
| <body>
 | ||
|   <h1>API Активации</h1>
 | ||
| 
 | ||
|   <p>API Активации содержит всего 4 функции. Две предназначены для
 | ||
|   онлайн-активации и две для оффлайн, когда на компьютере
 | ||
|   отсутствует доступ в Интернет. API Активации предназначено для
 | ||
|   взаимодействия с Web License Manager, так что разработчику все
 | ||
|   равно необходимо вызывать API системы лицензирования, чтобы
 | ||
|   использовать серийные номера, полученные от WebLM.</p><strong id=
 | ||
|   "VMProtectActivateLicense">VMProtectActivateLicense</strong>
 | ||
| 
 | ||
|   <p>Функция передает код активации на сервер и возвращает серийный
 | ||
|   номер, подходящий для этого конкретного компьютера. В противном
 | ||
|   случае возвращается <a href="#codes">код ошибки</a>.</p>
 | ||
|   <pre class="code">int VMProtectActivateLicense(const char *code, char *serial, int size);
 | ||
| </pre>
 | ||
| 
 | ||
|   <p>Параметр <strong>code</strong> содержит код активации, который
 | ||
|   получен от Web License Manager в процессе покупки лицензии.
 | ||
|   Параметр <strong>serial</strong> указывает на блок памяти размера
 | ||
|   <strong>size</strong>, в который будет помещен сгенерированный
 | ||
|   WebLM серийный номер.</p><strong id=
 | ||
|   "VMProtectDeactivateLicense">VMProtectDeactivateLicense</strong>
 | ||
| 
 | ||
|   <p>Функция передает серийный номер на сервер для деактивации.
 | ||
|   Возможные коды возврата перечислены <a href=
 | ||
|   "#codes">ниже</a>.</p>
 | ||
|   <pre class="code">int VMProtectDeactivateLicense(const char *serial);
 | ||
| </pre>
 | ||
| 
 | ||
|   <p>Параметр <strong>serial</strong> содержит серийный номер (не
 | ||
|   код активации), полученный ранее от WebLM в процессе
 | ||
|   активации.</p><strong id=
 | ||
|   "VMProtectGetOfflineActivationString">VMProtectGetOfflineActivationString</strong><br />
 | ||
| 
 | ||
|   <strong id=
 | ||
|   "VMProtectGetOfflineDeactivationString">VMProtectGetOfflineDeactivationString</strong>
 | ||
| 
 | ||
|   <p>Эти две функции работают практически аналогично двум
 | ||
|   предыдущим с той лишь разницей, что они не пытаются подключиться
 | ||
|   к серверу WebLM. Вместо этого они возвращают блок текста, который
 | ||
|   необходимо скопировать на компьютер где есть доступ в Интернет,
 | ||
|   открыть там форму оффлайн-активации WebLM и вставить туда этот
 | ||
|   текст.</p>
 | ||
|   <pre class="code">int VMProtectGetOfflineActivationString(const char *code, char *buf, int size);
 | ||
| int VMProtectGetOfflineDeactivationString(const char *serial, char *buf, int size);
 | ||
| </pre>
 | ||
| 
 | ||
|   <p>Параметры <strong>code</strong> и <strong>serial</strong>
 | ||
|   аналогичны параметрам онлайн-версий функций, параметр
 | ||
|   <strong>buf</strong> должен указывать на буфер размером 1000 байт
 | ||
|   или больше, туда будет скопирован текстовый блок для формы
 | ||
|   оффлайн-активации. Возможные коды ошибок перечислены <a href=
 | ||
|   "#codes">ниже</a>.</p>
 | ||
| 
 | ||
|   <h3 id="codes">Возможные Коды Ошибок</h3>
 | ||
| 
 | ||
|   <table border="1" cellspacing="0" cellpadding="2">
 | ||
|     <tr>
 | ||
|       <th>Код</th>
 | ||
| 
 | ||
|       <th>Значение</th>
 | ||
| 
 | ||
|       <th>Описание</th>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_OK</td>
 | ||
| 
 | ||
|       <td>0</td>
 | ||
| 
 | ||
|       <td>Активация прошла успешно, переменная
 | ||
|       <strong>serial</strong> содержит серийный номер.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_SMALL_BUFFER</td>
 | ||
| 
 | ||
|       <td>1</td>
 | ||
| 
 | ||
|       <td>Буфер для серийного номера слишком маленький. Минимальный
 | ||
|       размер буфера вычисляется по формуле: bits / 8 * 3 / 2 + N,
 | ||
|       где bits - длина RSA ключа в битах, а N - "константа
 | ||
|       безопасности" - дополнительное количество байт на случай
 | ||
|       переносов строк и прочих спец-символов. Рекомендуется
 | ||
|       использовать как минимум 10.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_NO_CONNECTION</td>
 | ||
| 
 | ||
|       <td>2</td>
 | ||
| 
 | ||
|       <td>Модуль активации не смог подключиться к Web License
 | ||
|       Manager.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_BAD_REPLY</td>
 | ||
| 
 | ||
|       <td>3</td>
 | ||
| 
 | ||
|       <td>Сервер активации вернул неожиданный результат. Это
 | ||
|       означает проблемы конфигурации сервера, неправильный url
 | ||
|       сервера активации или попытку взлома.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_BANNED</td>
 | ||
| 
 | ||
|       <td>4</td>
 | ||
| 
 | ||
|       <td>Этот код активации заблокирован на сервере производителем 
 | ||
|       ПО через интерфейс WebLM (например, из-за
 | ||
|       утечки кода активации с пиратской копией). Не путать с ACTIVATION_ALREADY_USED.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_CORRUPTED</td>
 | ||
| 
 | ||
|       <td>5</td>
 | ||
| 
 | ||
|       <td>Что-то пошло совсем не так. Ошибка выдается системой
 | ||
|       самопроверки модуля активации и с высокой вероятностью
 | ||
|       означает попытку взлома. В случае получения этой ошибки
 | ||
|       дальнейшие операции с серийными номерами и активацией не
 | ||
|       могут считаться безопасными.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_BAD_CODE</td>
 | ||
| 
 | ||
|       <td>6</td>
 | ||
| 
 | ||
|       <td>Данный код не найден в базе данных сервера активаций.
 | ||
|       Возможно пользователь ошибся при вводе кода, так что можно
 | ||
|       попросить его проверить правильность ввода данных.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_ALREADY_USED</td>
 | ||
| 
 | ||
|       <td>7</td>
 | ||
| 
 | ||
|       <td>Счетчик активаций этого кода дошел до нуля и дальнейшие
 | ||
|       активации невозможны. Это не обозначает, что код плохой или
 | ||
|       заблокирован - код хороший. Пользователю нужно связаться с
 | ||
|       производителем ПО и докупить необходимое количество лицензий
 | ||
|       или же деинсталлировать программу на других компьютерах,
 | ||
|       чтобы увеличить значение счетчика в базе данных.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_SERIAL_UNKNOWN</td>
 | ||
| 
 | ||
|       <td>8</td>
 | ||
| 
 | ||
|       <td>Ошибка деактивации. Означает, что данный серийный
 | ||
|       номер не найден в базе данных сервера. Соответственно,
 | ||
|       деактивация не может быть проведена успешно.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_EXPIRED</td>
 | ||
| 
 | ||
|       <td>9</td>
 | ||
| 
 | ||
|       <td>Ошибка активации. Означает, что период действия кода активации истек.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|     <tr>
 | ||
|       <td>ACTIVATION_NOT_AVAILABLE</td>
 | ||
| 
 | ||
|       <td>10</td>
 | ||
| 
 | ||
|       <td>Ошибка означает, что активация/деактивация недоступна.</td>
 | ||
|     </tr>
 | ||
| 
 | ||
|   </table>
 | ||
| 
 | ||
|   <h3>Маленькие хитрости</h3>
 | ||
| 
 | ||
|   <p>API Активации достаточно простое, так что с ним не должно
 | ||
|   возникнуть сложностей. Не забудьте предоставить пользователям
 | ||
|   интерфейс для оффлайн-активации, если онлайн-активация
 | ||
|   завершилась неудачей из-за проблем с доступом в интернет. Также
 | ||
|   не забывайте, что API Активации не сохраняет полученный серийный
 | ||
|   номер и не передает его модулю лицензирования - это задача
 | ||
|   разработчика. Нет необходимости вызывать API Активации при каждом
 | ||
|   запуске приложения - достаточно вызвать его один раз, получить
 | ||
|   серийный номер от WebLM, сохранить его в удобном месте и в
 | ||
|   дальнейшем использовать только его.</p><br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <hr noshade="noshade" size="1" />
 | ||
| 
 | ||
|   <div align="center">
 | ||
|     © 2006-2015 Copyright VMProtect Software
 | ||
|   </div>
 | ||
| </body>
 | ||
| </html>
 |