<!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.8: Номера из "черного списка"</title> </head> <body> <h1>Шаг 1.8: Номера из "черного списка"</h1> <p>Номер, помеченный в VMProtect как "заблокированный", больше не должен приниматься системой лицензирования. При очередной защите приложения VMProtect запишет в защищаемый файл хеш от номеров черного списка, вследствие чего система лицензирования в этом приложении откажет при попытке установить такой номер.</p> <p>Сократим до минимума код функции <strong>main()</strong>:</p> <pre class="code">int main(int argc, char **argv) { char *serial = "Xserialnumber"; // зададим номер непосредственно в коде для простоты int res = VMProtectSetSerialNumber(serial); print_state(res); return 0; } </pre> <p>Запустим программу и убедимся, что система лицензирования принимает наш серийный номер:</p> <pre class="code">state = 0 </pre> <p>Теперь занесем наш номер в черный список с точки зрения системы лицензирования. Для этого в ini-файл добавим строку:</p> <pre class="code">BlackListedSerialNumber=Xserialnumber </pre> <p>И снова запускаем программу:</p> <pre class="code">state = SERIAL_STATE_FLAG_BLACKLISTED </pre> <p>Сообщать ли пользователю о занесении его номера в черный список, или просто сообщить, что номер неверный - оставлено на усмотрение разработчика. Система лицензирования лишь сообщает программе о факте использования заблокированного номера.</p><br /> <a href="step19_hwid.htm">Следующий шаг</a> <br /> <br /> <br /> <br /> <hr noshade="noshade" size="1" /> <div align="center"> © 2006-2015 Copyright VMProtect Software </div> </body> </html>