Подтвердить что ты не робот

Нужен совет по реализации ограниченного времени судебного разбирательства

Я разрабатываю бесплатное настольное приложение. Я до такой степени, что мне нужно реализовать код пробного использования/активации. Как вы относитесь к чему-то подобному? У меня есть свои собственные идеи, но я хочу посмотреть, что думает сообщество stackoverflow.

Я разрабатываю С++/Qt. Предполагаемая платформа - Windows/Mac/Linux.

Спасибо за ваш совет!

4b9b3361

Ответ 1

Что защищать и не защищать от:

Имейте в виду, что люди всегда найдут способ обойти пробный период. Таким образом, вы хотите сделать это раздражающим для человека, чтобы обойти ваш пробный период, но не имеет значения, невозможно ли обойти пробный период.

Большинство людей подумают, что слишком много работы, чтобы попытаться обойти пробный период, если есть даже простой механизм. Например, люди всегда могут использовать filemon/regmon, чтобы узнать, какие файлы и записи реестра меняются при установке вашего программного обеспечения.

Как говорится, простой механизм лучше всего, потому что он тратит меньше вашего времени.

Вот несколько идей:

  • Вы можете сделать отметку в любом месте реестра для каждого уникального дня, который запускается. Если количество тиков > 30, то покажите им сообщение с истекшим сроком действия.
  • Вы можете сохранить дату установки, но возьмите голову, чтобы проверить, есть ли у них больше дней, чем предполагалось в вашем пробном периоде, а затем сообщите им, что они истекли. Это будет защищать от людей, меняющих дату, прежде чем устанавливать их на следующий день.
  • Я бы рекомендовал сделать вашу деинсталляцию, удалить счетчик "дней работы". Это происходит потому, что люди могут переоценить ваш продукт спустя несколько месяцев и в конечном итоге купить. Но если они не смогут его оценить, они не будут покупать. Ни один серьезный пользователь не успеет удалить/переустановить, чтобы получить дополнительное использование вашего продукта.

Расширение испытаний:

Для нас, когда клиент запрашивает пробное расширение, мы отправляем им автоматическое электронное письмо, содержащее программу TrialExtend.exe и пробный код расширения. Эта программа связывается с нашим сервером с расширением пробного кода, чтобы проверить его. Если код подтвержден, их пробный период reset.

Ответ 2

Что бы вы ни делали, внимательно следите за системной датой. Самый старый трюк в книге - это установить приложение в какой-то момент в будущем, а затем вернуться к реальной дате после того, как приложение сохранит глупую дату при первом запуске. Возможно, синхронизировать ключ с онлайн-хранилищем?

Ответ 3

Брайан отвечает отлично, но я хотел бы добавить что-то.

Пользователи Linux обычно не привыкли платить за программное обеспечение, и они, как правило, более технологичны и, возможно, даже "религиозны" по вопросам с открытым исходным кодом.

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

Я бы предположил, что он замалчивает или отключает некоторые функции (например, сохранение) после пробного периода, а не полностью умирает. Просто наблюдение, но функциональные ограничения более распространены в мире Linux.

В стороне, делая версию linux "первоклассной" версией - достойный установщик и т.д. поможет.

Если вы относительно невелики или ваша программа относительно ниша, есть довольно небольшой шанс, что кто-то потрудится взломать ее - так что просто сосредоточьтесь на том, чтобы сделать хороший продукт с прямым движением сразу после времени.

Ответ 4

Если вы [справедливо] имеете сетевое подключение, вы можете иметь регистрацию установщика на своем веб-сайте, а затем проверять его каждый раз, когда он начинается.

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

Ответ 5

Возможно, реальной проблемой является ограниченное время. Компания, над которой я работаю, много работает в Active Directory, и мы обычно ограничиваем наше программное обеспечение небольшим количеством пользователей для пробных версий. Я чувствую, что ограничение функциональности в некотором роде иногда лучше, проще реализовать и не прерывается, когда пользователь просто меняет дату на своем компьютере.
Существует балансирующий акт в том смысле, что вы не можете ограничивать функциональность слишком строго, иначе пользователи не получат ничего от пробной версии. В то же время слишком слабый лимит не дает никаких стимулов для покупки.