Демо-версия приложения

Issues related to VMProtect
Post Reply
Cinemaizer
Posts: 7
Joined: Sat Jun 18, 2011 3:31 pm
Location: Москва

Демо-версия приложения

Post by Cinemaizer »

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

Далее, исходя из советов авторов VMProtect'а и собственных измышлений пришли к выводу организовать процесс раздачи демо-версии следующим образом:
1) Поскольку приложение работает с БД, то для демки характерно ограничить количество записей в основных (заказы, к примеру) таблицах небольшим числом. То бишь, при сохранении записи происходит проверка на кол-во записей в таблице через простой запрос. Такие процедуры должны быть защищены ультрой.
2) Временный trial-ключ на месяц должен генерится на стороне нашего сайта (кейген php), после запроса по e-mail. В случае повторного запроса с этого емейла, выдача ключа не производится...

Вроде бы это решение вполне приемлемое, однако ведь можно, например, завести с десяток емейлов и запрашивать ключ без проблем, особенно если не применять HWID. К тому же, если бы не БД и проверка на количество записей - ограничение получается как бы легко обходимое...

Хотелось бы услышать мнение форумчан по этому поводу.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Демо-версия приложения

Post by Admin »

По-моему ограничение на количества записей вполне достаточно. Зачем раздавать еще временные серийники - непонятно.

P.S. Если БД работает с объектами, имеющими дату создания (например документы), то дополнительно к количеству записей можно проверять и "триальный" период как разницу между текущей датой и датой первого документа (на худой конец при первом старте в БД можно записать текущую дату и дальше плясать уже от неё).
Cinemaizer
Posts: 7
Joined: Sat Jun 18, 2011 3:31 pm
Location: Москва

Re: Демо-версия приложения

Post by Cinemaizer »

Admin wrote:По-моему ограничение на количества записей вполне достаточно. Зачем раздавать еще временные серийники - непонятно.
А это я у вас доке вычитал:
"Есть несколько возможных решений. Одно из самых простых и зачастую правильных - отказаться от идеи испытательного периода в пользу ограничения возможностей приложения в демонстрационном режиме или использовать ограничение времени работы приложения. Можно использовать временные серийные номера сроком на 30 дней. Если же испытательный период необходим, то можно реализовать его самостоятельно по описанному выше алгоритму."
В общем, из соображений дополнительной безопасности... Или это уже из области паранойи ? :lol: Если так, то... обойдемся без них.

За идею с датами записей-документов - спасибо! что то не догадался как то сразу. Упрощается задача в общем.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Демо-версия приложения

Post by Admin »

Ну вы все правильно процитировали - есть 2 варианта: либо использовать ограничение по функционалу, либо временные серийники. В вашем случае наиболее оптимальный - это первый вариант.
knocking
Posts: 2
Joined: Mon Jul 02, 2012 6:43 am

Re: Демо-версия приложения

Post by knocking »

Доброго дня, уважаемые.
Чтобы вам было проще понять мое нынешнее мышление и ответить на мои вопросы, то скажу, что сейчас пользуюсь старфорсом. Хочу на вашу защиту перейти (ultimate). Есть несколько вопросов, будьте добры ответить.

В итоге должна появится демо-версия на 15 дней и ограничение максимального количества записей в БД.

1. Форму для ввода серийника нужно делать самому, верно? У пользователей моей программы обязательно есть интернет, есть какая-то возможность активировать программу через инет (вводить серийник где-то уже в готовую форму) и не делать этой формы самому?
2. Сейчас у меня защищено 3 десятка критичный функций, где выясняется активирована ли программа. Если активирована, то программа выполняет нужные действия (создает новые документы, элементы справочников, формирует отчеты итд.) Если не активирована, то идет проверка на превышение количества записей в БД, если < 50, то все ок, если >50, то выдается ошибка и действие не происходит. Как понять VMProtect активирована ли прога? Не нашел в справке такую функцию.
3. Вообще, я так понял, если сравнивать VMProtect со Старфорсом, то это как винда и линуха: в винде все визуально и мининум программирования, а в линухе нужно больше кодить, но возможностей больше. Правильно я понимаю?
4. В СФ за не превышение работы более чем определенное количество дней отвечает само ядро, нужно просто тупо поставить сколько дней приложение может работать. В VMProtect нужно это делать самому, верно? Т.е. при первом запуске куда-то записать дату, а потом при следующих запусках ее сравнивать с текущей, так?

Спасибо за ответы.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Демо-версия приложения

Post by Admin »

1. Форму для ввода серийника нужно делать самому, верно? У пользователей моей программы обязательно есть интернет, есть какая-то возможность активировать программу через инет (вводить серийник где-то уже в готовую форму) и не делать этой формы самому?
Да, форму ввода серийника нужно делать вам самим. С помощью SDK вы можете использовать онлайн активацию и активировать программу с помощью коротких кодов активации. В любом случае форма ввода кода активации/серийника должна быть ваша.
2. Сейчас у меня защищено 3 десятка критичный функций, где выясняется активирована ли программа. Если активирована, то программа выполняет нужные действия (создает новые документы, элементы справочников, формирует отчеты итд.) Если не активирована, то идет проверка на превышение количества записей в БД, если < 50, то все ок, если >50, то выдается ошибка и действие не происходит. Как понять VMProtect активирована ли прога? Не нашел в справке такую функцию.
С помощью VMProtectGetSerialNumberState. В случае когда программа зарегистрирована эта функция вернет 0.
3. Вообще, я так понял, если сравнивать VMProtect со Старфорсом, то это как винда и линуха: в винде все визуально и мининум программирования, а в линухе нужно больше кодить, но возможностей больше. Правильно я понимаю?
Не понял вопроса.
4. В СФ за не превышение работы более чем определенное количество дней отвечает само ядро, нужно просто тупо поставить сколько дней приложение может работать. В VMProtect нужно это делать самому, верно? Т.е. при первом запуске куда-то записать дату, а потом при следующих запусках ее сравнивать с текущей, так?
Если речь идет про триальные метки, то такой способ триала достаточно легко обходится с помощью так называемых TrialReset-ов, в результате которых "нехороший" пользователь может продлевать свой триал до бесконечности. Мы же рекомендуем использовать онлайн активацию, при которой конечная дата работы программы зашивается внутрь триального серийного номера в момент активации программы триальным кодом активации.
knocking
Posts: 2
Joined: Mon Jul 02, 2012 6:43 am

Re: Демо-версия приложения

Post by knocking »

Все понял, огромное спасибо!
TeelXp
Posts: 3
Joined: Fri Jul 20, 2012 8:29 am

Re: Демо-версия приложения

Post by TeelXp »

Здравствуйте.

Приобрёл на днях VMPRotect (Ultimate). Планирую использовать его для защиты своей программы. В менеджере лицензий есть возможность ограничить срок действия ключа. Мне интересно на сколько надёжно это работает? Допустим если пользователь будет запускать программу на виртуальной машине и откатывать дату каждый раз. Есть ли смысл дополнять систему проверки даты, допустим, запрашивать текущую дату из интернета и сверять её с dtExpire из серийного ключа или же возможности системы лицензирования всё это учитывают и можно просто использовать в программе VMProtectSetSerialNumber не беспокоясь не о чём?
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Демо-версия приложения

Post by Admin »

Если ваша программа работает с интернетом, то дополнительное получение текущей даты из внешнего источника не повредит. В любом случае демо версия помимо ограничений по дате должна предусматривать какие-либо дополнительные "неудобства" в виде водяных знаков или урезанного функционала.
Post Reply