Бесплатная пробная версия приложения через реестр

Для моих приложений VB.NET я хочу, чтобы у пользователя была бесплатная пробная версия в течение x дней.

Где лучшее место для записи количества прошедших дней? В реестре? Не может ли кто-то просто удалить раздел реестра, а затем снова получить полный x дней?

Есть ли способ лучше?

3 ответа

Решение

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

Для генерации идентификационной строки вы можете посмотреть на этот вопрос и следующие ответы

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

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

Это, по сути, лишает возможности просто переустанавливать приложение и продолжать его использовать.

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

Пользователь может запустить Virtual PC, установить ваше приложение, а затем откатить виртуальный ПК через 28 дней и установить снова.

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

Другие вопросы по тегам