Управление лицензиями без изменения защищаемой программы

Issues related to VMProtect
Post Reply
Alexander.Iljin
Posts: 8
Joined: Fri Feb 22, 2013 11:41 am
Location: Томск

Управление лицензиями без изменения защищаемой программы

Post by Alexander.Iljin »

Добрый день.

Хотим внедрить в наш проект управление лицензиями.
Интересно, возможно-ли с помощью VMProtect защитить программу, не добавляя при этом в программу дополнительных функций для запроса и проверки активационного кода?
При защите исполняемых файлов мы можем установить флаг "Привязать к серийному номеру". В документации сказано, что
Lock to Serial Number – if this option is enable, the protected function become unavailable without a valid serial number entered. In such a way you can limit access to certain functions of the application in the unregistered version.
При попытке запуска приложения с функциями, привязанными к серийному номеру, возникает сообщение о том, что
This code requires valid serial number to run.
Program will be terminated.
Напрашивается предположение, что если VMProtect позволяет выборочно запрещать выполнение функций без активации и умеет выводить окна с сообщениями, то возможно VMProtect также позволяет упростить собственно процедуру ввода и проверки активационных кодов. Например при запуске можно было бы показывать диалоговое окно с запросом активационного кода, проверять введенный код, и если все хорошо, то продолжать обычный запуск приложения.

Ни в документации, ни в интерфейсе оконной версии VMProtect не нашел никаких настроек намекающих на возможность автоматически запрашивать активационный код. Значит предположение неверное?

Можно ли в будущем ожидать такой возможности?
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Управление лицензиями без изменения защищаемой программы

Post by Admin »

Интересно, возможно-ли с помощью VMProtect защитить программу, не добавляя при этом в программу дополнительных функций для запроса и проверки активационного кода?
Нет.
Например при запуске можно было бы показывать диалоговое окно с запросом активационного кода, проверять введенный код, и если все хорошо, то продолжать обычный запуск приложения.
Непонятно почему вы сами не можете создать такое окно? В любом случае введенный серийник нужно где-то хранить для последующих запусков. Кто кроме вас знает где вы собираетесь это делать?
Можно ли в будущем ожидать такой возможности?
Возможности создания автоматических окон? Такого точно не будет. Если у программиста возникают проблемы с написанием нужного ему функционала, то наш продукт не для него.
Alexander.Iljin
Posts: 8
Joined: Fri Feb 22, 2013 11:41 am
Location: Томск

Re: Управление лицензиями без изменения защищаемой программы

Post by Alexander.Iljin »

Admin wrote:Непонятно почему вы сами не можете создать такое окно? В любом случае введенный серийник нужно где-то хранить для последующих запусков. Кто кроме вас знает где вы собираетесь это делать?
Например потому, что в проекте изначально совсем не предусматривалось каких-либо средств для кросплатформанного вывода окон. И раз уж VMProtect уже выводит свои окна, то его пользователям было бы удобней вызвать пару дополнительных функций в API VMProtect, чем подтягивать в проект дополнительные зависимости, нужные только для запроса активационного кода.
Admin wrote:
Alexander.Iljin wrote:Можно ли в будущем ожидать такой возможности?
Возможности создания автоматических окон? Такого точно не будет. Если у программиста возникают проблемы с написанием нужного ему функционала, то наш продукт не для него.
Жаль, конечно. Мы ведь все пользуемся сторонними библиотеками как-раз для того, чтоб решить проблему с написанием нужного нам функционала.
Но и вашу сторону тоже понять можно. Система защиты не обязана решать задачу создания пользовательского интерфейса.
Однако, вот. Например, нам было бы удобно.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Управление лицензиями без изменения защищаемой программы

Post by Admin »

И раз уж VMProtect уже выводит свои окна
Это не совсем окна - это MessageBox-ы, которые выводятся средствами операционной системы.
Система защиты не обязана решать задачу создания пользовательского интерфейса.
Вокруг лицензирования и проверки серийных номеров полно бизнеслогики, которую нельзя будет заменить простым окном с вводом чего-либо.
Ну вот например пользователь ввел что-то в окно:
1. Как протектор узнает что он туда ввел? Может быть это код активации и нужно дернуть ваш сервер активации и вызывать VMProtectActivateLicense, а может это конечный серийник и нужно вызвать VMProtectSetSerialNumber
2. В каком виде сообщать что он ввел ерунду (VMProtectActivateLicense/VMProtectSetSerialNumber вернули ошибку)?
3. Если все-таки мы имеем валидный серийник - куда мы его должны сохранить для последующего запуска? Опять же на каком этапе его читать и проверять?
4. А вдруг вы потом захотите сделать этот диалог красивым (с логотипом или с URL куда надо тыкать чтобы купить программу)?
5. И т.д. и т.п.

Как вы вообще представляете настройку этого всего прямо из протектора? :))
Alexander.Iljin
Posts: 8
Joined: Fri Feb 22, 2013 11:41 am
Location: Томск

Re: Управление лицензиями без изменения защищаемой программы

Post by Alexander.Iljin »

ну... да. При определенной фантазии в каком-то виде представить можно. Пусть с массой компромиссов. Но, конечно, для этого в протекторе придется развить развесистую ветку дополнительного функционала. Наверняка стоить такое решение будет по-другому, а вопросы к гибкости все равно у пользователей останутся.

Спасибо за объяснение. Что-нибудь придумаем.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Управление лицензиями без изменения защищаемой программы

Post by Admin »

При определенной фантазии в каком-то виде представить можно. Пусть с массой компромиссов.
Вы серьезно? :))
Alexander.Iljin
Posts: 8
Joined: Fri Feb 22, 2013 11:41 am
Location: Томск

Re: Управление лицензиями без изменения защищаемой программы

Post by Alexander.Iljin »

А почему нет?!
Один мой друг :) рассказывал, что пользовался какой-то программой, в которую просто кидаешь исполняемый файл, в окошке настраиваешь адрес почты тех-поддержки, указываешь файл со своим логотипом, указываешь, как строго привязываться к железу, ну и, конечно, указываешь, какие функции хочешь зашифровать. И потом нажимаешь кнопку "защитить".

Говорил, что на выходе появляется исполняемый файл который при запуске просит ввести активационный ключ, а в случае чего выводит предупреждения на языке операционной системы. Не вспомню сейчас, что он там говорил про стоимость таких чудес, и, кажется, не на всех платформах это работало. Но тем не менее, саму концепцию представить не сильно сложно.

Собственно, на этой почве я и начал этот топик.
Post Reply