Поначалу по неопытности была сумасшедшая мысль встроить приватный ключ в демку и чтобы пользователь сам себе генерил (с помощью длл-генератора) временный ключ для пользования прогой, скажем на месяц. То есть, после того как ключ создан, где то фиксировалось бы, что второй ключ он создать уже невправе В общем, такой путь быстро был отметен...
Далее, исходя из советов авторов VMProtect'а и собственных измышлений пришли к выводу организовать процесс раздачи демо-версии следующим образом:
1) Поскольку приложение работает с БД, то для демки характерно ограничить количество записей в основных (заказы, к примеру) таблицах небольшим числом. То бишь, при сохранении записи происходит проверка на кол-во записей в таблице через простой запрос. Такие процедуры должны быть защищены ультрой.
2) Временный trial-ключ на месяц должен генерится на стороне нашего сайта (кейген php), после запроса по e-mail. В случае повторного запроса с этого емейла, выдача ключа не производится...
Вроде бы это решение вполне приемлемое, однако ведь можно, например, завести с десяток емейлов и запрашивать ключ без проблем, особенно если не применять HWID. К тому же, если бы не БД и проверка на количество записей - ограничение получается как бы легко обходимое...
Хотелось бы услышать мнение форумчан по этому поводу.
Демо-версия приложения
Re: Демо-версия приложения
По-моему ограничение на количества записей вполне достаточно. Зачем раздавать еще временные серийники - непонятно.
P.S. Если БД работает с объектами, имеющими дату создания (например документы), то дополнительно к количеству записей можно проверять и "триальный" период как разницу между текущей датой и датой первого документа (на худой конец при первом старте в БД можно записать текущую дату и дальше плясать уже от неё).
P.S. Если БД работает с объектами, имеющими дату создания (например документы), то дополнительно к количеству записей можно проверять и "триальный" период как разницу между текущей датой и датой первого документа (на худой конец при первом старте в БД можно записать текущую дату и дальше плясать уже от неё).
-
- Posts: 7
- Joined: Sat Jun 18, 2011 3:31 pm
- Location: Москва
Re: Демо-версия приложения
А это я у вас доке вычитал:Admin wrote:По-моему ограничение на количества записей вполне достаточно. Зачем раздавать еще временные серийники - непонятно.
"Есть несколько возможных решений. Одно из самых простых и зачастую правильных - отказаться от идеи испытательного периода в пользу ограничения возможностей приложения в демонстрационном режиме или использовать ограничение времени работы приложения. Можно использовать временные серийные номера сроком на 30 дней. Если же испытательный период необходим, то можно реализовать его самостоятельно по описанному выше алгоритму."
В общем, из соображений дополнительной безопасности... Или это уже из области паранойи ? Если так, то... обойдемся без них.
За идею с датами записей-документов - спасибо! что то не догадался как то сразу. Упрощается задача в общем.
Re: Демо-версия приложения
Ну вы все правильно процитировали - есть 2 варианта: либо использовать ограничение по функционалу, либо временные серийники. В вашем случае наиболее оптимальный - это первый вариант.
Re: Демо-версия приложения
Доброго дня, уважаемые.
Чтобы вам было проще понять мое нынешнее мышление и ответить на мои вопросы, то скажу, что сейчас пользуюсь старфорсом. Хочу на вашу защиту перейти (ultimate). Есть несколько вопросов, будьте добры ответить.
В итоге должна появится демо-версия на 15 дней и ограничение максимального количества записей в БД.
1. Форму для ввода серийника нужно делать самому, верно? У пользователей моей программы обязательно есть интернет, есть какая-то возможность активировать программу через инет (вводить серийник где-то уже в готовую форму) и не делать этой формы самому?
2. Сейчас у меня защищено 3 десятка критичный функций, где выясняется активирована ли программа. Если активирована, то программа выполняет нужные действия (создает новые документы, элементы справочников, формирует отчеты итд.) Если не активирована, то идет проверка на превышение количества записей в БД, если < 50, то все ок, если >50, то выдается ошибка и действие не происходит. Как понять VMProtect активирована ли прога? Не нашел в справке такую функцию.
3. Вообще, я так понял, если сравнивать VMProtect со Старфорсом, то это как винда и линуха: в винде все визуально и мининум программирования, а в линухе нужно больше кодить, но возможностей больше. Правильно я понимаю?
4. В СФ за не превышение работы более чем определенное количество дней отвечает само ядро, нужно просто тупо поставить сколько дней приложение может работать. В VMProtect нужно это делать самому, верно? Т.е. при первом запуске куда-то записать дату, а потом при следующих запусках ее сравнивать с текущей, так?
Спасибо за ответы.
Чтобы вам было проще понять мое нынешнее мышление и ответить на мои вопросы, то скажу, что сейчас пользуюсь старфорсом. Хочу на вашу защиту перейти (ultimate). Есть несколько вопросов, будьте добры ответить.
В итоге должна появится демо-версия на 15 дней и ограничение максимального количества записей в БД.
1. Форму для ввода серийника нужно делать самому, верно? У пользователей моей программы обязательно есть интернет, есть какая-то возможность активировать программу через инет (вводить серийник где-то уже в готовую форму) и не делать этой формы самому?
2. Сейчас у меня защищено 3 десятка критичный функций, где выясняется активирована ли программа. Если активирована, то программа выполняет нужные действия (создает новые документы, элементы справочников, формирует отчеты итд.) Если не активирована, то идет проверка на превышение количества записей в БД, если < 50, то все ок, если >50, то выдается ошибка и действие не происходит. Как понять VMProtect активирована ли прога? Не нашел в справке такую функцию.
3. Вообще, я так понял, если сравнивать VMProtect со Старфорсом, то это как винда и линуха: в винде все визуально и мининум программирования, а в линухе нужно больше кодить, но возможностей больше. Правильно я понимаю?
4. В СФ за не превышение работы более чем определенное количество дней отвечает само ядро, нужно просто тупо поставить сколько дней приложение может работать. В VMProtect нужно это делать самому, верно? Т.е. при первом запуске куда-то записать дату, а потом при следующих запусках ее сравнивать с текущей, так?
Спасибо за ответы.
Re: Демо-версия приложения
Да, форму ввода серийника нужно делать вам самим. С помощью SDK вы можете использовать онлайн активацию и активировать программу с помощью коротких кодов активации. В любом случае форма ввода кода активации/серийника должна быть ваша.1. Форму для ввода серийника нужно делать самому, верно? У пользователей моей программы обязательно есть интернет, есть какая-то возможность активировать программу через инет (вводить серийник где-то уже в готовую форму) и не делать этой формы самому?
С помощью VMProtectGetSerialNumberState. В случае когда программа зарегистрирована эта функция вернет 0.2. Сейчас у меня защищено 3 десятка критичный функций, где выясняется активирована ли программа. Если активирована, то программа выполняет нужные действия (создает новые документы, элементы справочников, формирует отчеты итд.) Если не активирована, то идет проверка на превышение количества записей в БД, если < 50, то все ок, если >50, то выдается ошибка и действие не происходит. Как понять VMProtect активирована ли прога? Не нашел в справке такую функцию.
Не понял вопроса.3. Вообще, я так понял, если сравнивать VMProtect со Старфорсом, то это как винда и линуха: в винде все визуально и мининум программирования, а в линухе нужно больше кодить, но возможностей больше. Правильно я понимаю?
Если речь идет про триальные метки, то такой способ триала достаточно легко обходится с помощью так называемых TrialReset-ов, в результате которых "нехороший" пользователь может продлевать свой триал до бесконечности. Мы же рекомендуем использовать онлайн активацию, при которой конечная дата работы программы зашивается внутрь триального серийного номера в момент активации программы триальным кодом активации.4. В СФ за не превышение работы более чем определенное количество дней отвечает само ядро, нужно просто тупо поставить сколько дней приложение может работать. В VMProtect нужно это делать самому, верно? Т.е. при первом запуске куда-то записать дату, а потом при следующих запусках ее сравнивать с текущей, так?
Re: Демо-версия приложения
Все понял, огромное спасибо!
Re: Демо-версия приложения
Здравствуйте.
Приобрёл на днях VMPRotect (Ultimate). Планирую использовать его для защиты своей программы. В менеджере лицензий есть возможность ограничить срок действия ключа. Мне интересно на сколько надёжно это работает? Допустим если пользователь будет запускать программу на виртуальной машине и откатывать дату каждый раз. Есть ли смысл дополнять систему проверки даты, допустим, запрашивать текущую дату из интернета и сверять её с dtExpire из серийного ключа или же возможности системы лицензирования всё это учитывают и можно просто использовать в программе VMProtectSetSerialNumber не беспокоясь не о чём?
Приобрёл на днях VMPRotect (Ultimate). Планирую использовать его для защиты своей программы. В менеджере лицензий есть возможность ограничить срок действия ключа. Мне интересно на сколько надёжно это работает? Допустим если пользователь будет запускать программу на виртуальной машине и откатывать дату каждый раз. Есть ли смысл дополнять систему проверки даты, допустим, запрашивать текущую дату из интернета и сверять её с dtExpire из серийного ключа или же возможности системы лицензирования всё это учитывают и можно просто использовать в программе VMProtectSetSerialNumber не беспокоясь не о чём?
Re: Демо-версия приложения
Если ваша программа работает с интернетом, то дополнительное получение текущей даты из внешнего источника не повредит. В любом случае демо версия помимо ограничений по дате должна предусматривать какие-либо дополнительные "неудобства" в виде водяных знаков или урезанного функционала.