Создадим еще один серийный номер с ограничением срока действия - скажем, 2005-м годом. Эта дата уже прошла и наш номер должен быть недействительным. Перейдите на закладку "Лицензии" и нажмите кнопку "Добавить лицензию". В появившемся окне поставьте галочку "Срок годности" и введите "30 сентября 2005 года". Создайте номер, скопируйте его и поместите в файл seral.txt, после чего запустите программу:
C:\test>dummy_app.vmp.exe serial number is bad state = SERIAL_STATE_FLAG_DATE_EXPIRED
Модуль лицензирования вернул флаг "срок действия номера закончен". Вернем рабочий номер обратно в файл serial.txt и убедимся, что его модуль лицензирования примет без проблем.
C:\test>dummy_app.vmp.exe serial number is correct, calling foo() I'm foo doneЗанесение номера в черный список
Предположим, что наш "хороший" серийный номер выложен в Интернет. Нам необходимо его заблокировать, чтобы в следующих версиях программы он уже не работал. Для этого мы выбираем его в списке номеров и нажимаем кнопку "Заблокировать". Сам факт нажатия кнопки не блокирует серийный номер в защищенном приложении, однако после повторной защиты файла, он откажется принимать этот серийный номер. Проверим. Если сейчас запустить нашу программу, то она примет заблокированный номер без проблем, т.к. это старая версия программы и она еще не знает о блокировке:
C:\test>dummy_app.vmp.exe serial number is correct, calling foo() I'm foo done
Сделаем копию нашей программы и назовем ее "dummy_app1.vmp.exe", а после этого перейдем в VMProtect и повторно защитим наше приложение, после чего запустим новую версию программы:
C:\test>dummy_app.vmp.exe serial number is bad state = SERIAL_STATE_FLAG_BLACKLISTED
Теперь для сравнения еще раз запустим старую версию программы:
C:\test>dummy_app1.vmp.exe serial number is correct, calling foo() I'm foo done
Старая версия ничего не знает о блокировании номера и продолжает работать как и раньше.
На последнем шаге мы попробуем привязать выполняемый код к серийному номеру. Перед этим разблокируйте серийный номер и перезащитите приложение в VMProtect, чтобы оно снова принимало наш серийный номер. Или создайте новую лицензию.