mirror of
				https://github.com/Obfuscator-Collections/VMProtect.git
				synced 2025-10-30 06:31:31 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			7.6 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>Генераторы ключей</title>
 | ||
|   <style type="text/css">
 | ||
|   </style>
 | ||
| </head>
 | ||
| 
 | ||
| <body>
 | ||
|   <h1>Генераторы ключей</h1><strong>Зачем они нужны?</strong>
 | ||
| 
 | ||
|   <p>Помимо VMProtect, серийные номера могут генерироваться другими
 | ||
|   программами - генераторами. Это нужно для автоматизации выдачи
 | ||
|   номеров без участия человека. Покупатель покупает продукт,
 | ||
|   регистратор делает HTTP-запрос на сайт производителя, там
 | ||
|   запускается программа-генератор и на основе данных о покупателе
 | ||
|   формирует серийный номер. Номер отправляется покупателю и
 | ||
|   производителю. Производитель вносит его в базу VMProtect вручную,
 | ||
|   через окно импорта лицензий.</p><strong>Принцип работы</strong>
 | ||
| 
 | ||
|   <p>Система лицензирования VMProtect построена на асимметричных
 | ||
|   алгоритмах, поэтому для генерации серийных номеров требуется
 | ||
|   секретный ключ продукта. Этот ключ можно экспортировать в окне
 | ||
|   свойств продукта и передать программе-генератору подходящим для
 | ||
|   нее способом.</p>
 | ||
| 
 | ||
|   <p>Программа-генератор вызывается регистратором через
 | ||
|   HTTP-запрос. Генератор на PHP может быть вызван напрямую,
 | ||
|   генератор в виде DLL - косвенно, но алгоритм остается одним и тем
 | ||
|   же:</p>
 | ||
| 
 | ||
|   <ul>
 | ||
|     <li>Получить данные о пользователе от регистратора</li>
 | ||
| 
 | ||
|     <li>Добавить необходимую информацию, которую указал
 | ||
|     производитель</li>
 | ||
| 
 | ||
|     <li>Сформировать серийный номер</li>
 | ||
| 
 | ||
|     <li>Зашифровать его одним из алгоритмов</li>
 | ||
| 
 | ||
|     <li>Передать результат регистратору</li>
 | ||
|   </ul><strong>Существуют ли готовые генераторы?</strong>
 | ||
| 
 | ||
|   <p>С системой лицензирования поставляется три готовых генератора
 | ||
|   серийных номеров <a href="keygen_dll.htm">в виде DLL</a>,
 | ||
|   <a href="keygen_net.htm">для платформы .Net</a> и <a href=
 | ||
|   "keygen_php.htm">реализованный на PHP</a>.</p><strong>Можно ли
 | ||
|   сделать свой генератор?</strong>
 | ||
| 
 | ||
|   <p>Можно. Формат серийного номера находится <a href=
 | ||
|   "serial_format.htm">здесь</a>, алгоритмы шифрования серийного
 | ||
|   номера описаны <a href=
 | ||
|   "algorithms.htm">здесь</a>.</p><strong>Насколько это
 | ||
|   безопасно?</strong>
 | ||
| 
 | ||
|   <p>В общем случае - вполне безопасно. Однако есть несколько
 | ||
|   рекомендаций, которым стоит следовать:</p>
 | ||
| 
 | ||
|   <ul>
 | ||
|     <li><strong>Используйте протокол HTTPS</strong> - если ваш
 | ||
|     регистратор умеет делать запрос по HTTPS, а ваш хостинг
 | ||
|     позволяет отвечать на такие запросы, то этот вариант
 | ||
|     предпочтительнее обычного HTTP, т.к. поток данных будет
 | ||
|     зашифрован и сгенерированный серийный номер сможет получить
 | ||
|     только регистратор.</li>
 | ||
| 
 | ||
|     <li><strong>"Спрячьте" генератор</strong> - убедитесь, что
 | ||
|     генератор нельзя вызвать случайно. Адрес
 | ||
|     www.site.com/keygen.php - плохая идея. А вот
 | ||
|     www.site.com/abc123.php - уже лучше. Убедитесь, что на
 | ||
|     генератор нет внешних ссылок, что он не показывается при
 | ||
|     просмотре содержимого директории сайта и не помещайте его в
 | ||
|     служебные файлы типа robots.txt. Чем меньше известно о
 | ||
|     расположении генератора - тем лучше. Как вариант - можно
 | ||
|     вынести генератор на другой сайт.</li>
 | ||
| 
 | ||
|     <li><strong>Убедитесь, что вас вызывает регистратор</strong> -
 | ||
|     в программе, обрабатывающей запрос от регистратора, необходимо
 | ||
|     проверить IP-адрес вызывающей стороны. Обычно регистраторы
 | ||
|     публикуют список адресов, с которых они могут вызвать
 | ||
|     генератор. Найдите такой у вашего регистратора и добавьте
 | ||
|     проверку. В случае несовпадения адреса, лучше не выдавать
 | ||
|     понятных ошибок. Не возвращайте ничего или верните ошибку 404.
 | ||
|     Не давайте повода понять, почему вызов оказался неудачен.</li>
 | ||
| 
 | ||
|     <li><strong>Проверяйте входные параметры</strong> - в
 | ||
|     настройках продукта у регистратора обычно дается возможность
 | ||
|     указать строку запроса, который регистратор будет делать для
 | ||
|     получения лицензии. Скажем, вы хотите получать имя
 | ||
|     пользователя, адрес его электронной почты, дату продажи и номер
 | ||
|     заказа. Убедитесь при получении запроса, что все параметры
 | ||
|     переданы и что все они имеют корректный формат. Не отвечайте на
 | ||
|     запросы с ошибками. О любых ошибках уведомляйте себя отправкой
 | ||
|     e-mail со всеми параметрами, с которыми был вызван генератор.
 | ||
|     Это поможет разобраться в причинах проблемы.</li>
 | ||
| 
 | ||
|     <li><strong>Добавьте "пароль"</strong> - укажите в запросе,
 | ||
|     посылаемом регистратором, дополнительный параметр - пароль. С
 | ||
|     неочевидным именем и значением. Проверяйте его на принимающей
 | ||
|     стороне. В случае несовпадения или отсутствия - не генерируйте
 | ||
|     номер.</li>
 | ||
|   </ul><br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <br />
 | ||
|   <hr noshade="noshade" size="1" />
 | ||
| 
 | ||
|   <div align="center">
 | ||
|     © 2006-2015 Copyright VMProtect Software
 | ||
|   </div>
 | ||
| </body>
 | ||
| </html>
 |