Приветствую.
У меня ряд вопросов, которые хотелось бы прояснить перед покупкой VMProtect Ultimate.
Для начала обрисую ситуацию. Программистом написано коммерческое ПО по заказу клиента. Клиент желает распространять ПО
в режиме подписки (15 дней бесплатно, дальше - помесячная оплата).
Приходим к выводу что нужно продавать коды активации, т.е. помимо защиты от взлома (VMProtect) необходимо управлять ключами активации (на базе WebLM я так понимаю это возможно)
1. Вопросы касательно продукта VMProtect Ultimate.
1.1. В Comparson chart у версии Ultimate стоит Web-generators of serial numbers. Значит ли это что WebLM входит в поставку Ultimate? Если WebLM не входит в поставку VMProtect Ultimate, то что означает эта опция?
1.2. В WebLM есть Лицензии и Коды Активации. В чем функциональная разница?
1.3. Возможна ли скидка на WebLM при покупке VMProtect Ultimate Personal License?
1.4. В прайсах "1 Year Of Maintenance (available for registered users only)" означает один год использования или поддержки?
1.5. В плане защиты в принципе хватило бы и Lite версии, поддерживает ли она работу с WebLM ?
2. Технические вопросы касательно использования VMProtect Ultimate. Перед покупкой, разумеется, хочется опробовать продукт в деле, в условиях, приближенных к реальным.
2.1. Часть кода функции защищена следующим образом:
VMProtectBeginUltra(":MainInitialize");
// код инициализации приложения
VMProtectEnd();
Сама функция защищена с опцией "привязать к серийному номеру" и в тестовом/рабочем режимах выдает сообщение "This code requires serial number to run..." и программа завершает работу.
Однако, если вызвать функцию vmp_result = VMProtectSetSerialNumber(SerialNumber); перед VMProtectBeginUltra(), то независимо от значения SerialNumber, сообщение "This code requires serial number to run..." не показывается и программа продолжает выполнение. Переменная vmp_result возвращает значение 2, но программа продолжает работать. Это нормальная ситуация? Результат необходимо обрабатывать вручную?
2.2. При использовании опции "привязать к серийному номеру" в функцию VMProtectSetSerialNumber необходимо передать серийный номер. Это тот же самый серийный номер, который генерируется VMProtect на вкладке Лицензии (см.прикрепленный файл)? При попытке его использования VMProtectSetSerialNumber возвращает 2, даже если создать файл VMProtectLicense.ini, положить его в директорию проекта и записать туда:
[TestLicense]
AcceptedSerialNumber=содержимое серийного номера
Что делаем не так - непонятно.
2.3. Не совсем ясно как работать с генераторами серийных номеров. А именно каким образом новый серийный номер будет распознан защищенной программой?
Ситуация: Покупатель загрузил триал-версию, испытал ее в течение 15 дней, затем купил лицензионный ключ. При покупке ключ был сгенерирован и отослан покупателю по email. Каким образом программа его распознает, если она была защищена без использования нового ключа?
Спасибо.
С Ув. Евгений.
Тестирование перед покупкой
Тестирование перед покупкой
- Attachments
-
- serial.png (23.43 KiB) Viewed 7738 times
Re: Тестирование перед покупкой
Это означает, что в поставку VMProtect Ultimate входят примеры кейгенов в том числе и на PHP (%VMProtect%/Keygen/PHP), которые можно настроить под свои проекты и использовать вместо штатного кейгена. WebLM является отдельным продуктом и не входит в поставку Ultimate.1.1. В Comparson chart у версии Ultimate стоит Web-generators of serial numbers. Значит ли это что WebLM входит в поставку Ultimate? Если WebLM не входит в поставку VMProtect Ultimate, то что означает эта опция?
Принципиальная разница заключается в том, что коды активации предназначены для получения конечной лицензии от сервера активации (WebLM). Без сервера активации они совершенно бесполезны в отличие от лицензий.1.2. В WebLM есть Лицензии и Коды Активации. В чем функциональная разница?
Мы предоставляем 50% скидку на WebLM при покупке в комплекте с Ultimate.1.3. Возможна ли скидка на WebLM при покупке VMProtect Ultimate Personal License?
Это означает один год получения новых версий VMProtect. При этом срок использования совершенно ничем не ограничен.1.4. В прайсах "1 Year Of Maintenance (available for registered users only)" означает один год использования или поддержки?
Имеет смысл вызывать VMProtectSetSerialNumber всего один раз где-то в начале инициализации приложения и в случае ненулевого результата обрабатывать его самостоятельно (показывая пользователю соответствующее сообщение и т.п.). Перед выполнением привязанного к ключу коду можно дополнительно проверить состояние серийного номера через VMProtectGetSerialNumberState:Однако, если вызвать функцию vmp_result = VMProtectSetSerialNumber(SerialNumber); перед VMProtectBeginUltra(), то независимо от значения SerialNumber, сообщение "This code requires serial number to run..." не показывается и программа продолжает выполнение. Переменная vmp_result возвращает значение 2, но программа продолжает работать. Это нормальная ситуация? Результат необходимо обрабатывать вручную?
Code: Select all
void MainForm::save()
if (VMProtectGetSerialNumberState()) {
MessageBox("This operation isn't available in unregistered version");
return;
}
VMProtectBeginUltraLockByKey(NULL);
// code here
VMProtectEnd();
Да, все правильно - это именно тот самый серийный номер. Примеры использования системы лицензирования можно увидеть в папке "%VMProtect%/Examples/Licensing/MSVC". По поводу "VMProtectLicense.ini" - серийный номер туда нужно записать без перевода строк, т.к. INI файлы не поддерживают многострочные значения.2.2. При использовании опции "привязать к серийному номеру" в функцию VMProtectSetSerialNumber необходимо передать серийный номер. Это тот же самый серийный номер, который генерируется VMProtect на вкладке Лицензии (см.прикрепленный файл)? При попытке его использования VMProtectSetSerialNumber возвращает 2, даже если создать файл VMProtectLicense.ini, положить его в директорию проекта и записать туда:
[TestLicense]
AcceptedSerialNumber=содержимое серийного номера
VMProtect при защите программы сохраняет в неё открытый ключ RSA, которого достаточно для проверки валидности лицензии (сами лицензии в программу не записываются). Соответственно ключи можно генерировать и после того как программа была защищена.2.3. Не совсем ясно как работать с генераторами серийных номеров. А именно каким образом новый серийный номер будет распознан защищенной программой?
Ситуация: Покупатель загрузил триал-версию, испытал ее в течение 15 дней, затем купил лицензионный ключ. При покупке ключ был сгенерирован и отослан покупателю по email. Каким образом программа его распознает, если она была защищена без использования нового ключа?
Re: Тестирование перед покупкой
Большое спасибо за быстрый и подробный ответ.
Все получилось. Еще пара вопросов осталась.
VMProtect Lite поддерживает ли работу с WebLM и генераторами серийных номеров?
Спасибо.
Все получилось. Еще пара вопросов осталась.
VMProtect Lite поддерживает ли работу с WebLM и генераторами серийных номеров?
Спасибо.
Re: Тестирование перед покупкой
Если вам все-таки нужна система лицензирования (лицензии/серийные номера), то Lite вам не подойдет, т.к. система лицензирования доступна только в Ultimate (обратите еще раз внимание на Comparison Chart: в колонках Lite и Professional полностью отсутствуют галки для секции "Serial Numbers")1.5. В плане защиты в принципе хватило бы и Lite версии, поддерживает ли она работу с WebLM ?