Каков наилучший способ создания программы, которая работает только в течение предварительно определенного испытательного периода (периода оценки)? - PullRequest
3 голосов
/ 20 марта 2010

Мне нужно создать простое приложение, которое не будет работать через 30 дней.

Как я могу это сделать?

Можно ли использовать пробную программу через 30 дней?

Ответы [ 6 ]

12 голосов
/ 20 марта 2010

Всегда можно использовать пробную программу через 30 дней.

11 голосов
/ 20 марта 2010

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

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

7 голосов
/ 20 марта 2010

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

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

6 голосов
/ 20 марта 2010

Из моего ответа на даты истечения срока действия в приложении / 1871218 # 1871218 :

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

Реальные продукты, такие как Beyond Compare, используют эту схему - отлично подходит для потенциальных клиентов, которые устанавливают ваш продукт и не используют его в течение 30 дней только для того, чтобы узнать, что пробная версия истекла.

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

3 голосов
/ 20 марта 2010

При первом запуске программа запрашивает ключ у вашего сервера и проверяет его действительность при каждом запуске программы и каждые 24 часа.

1 голос
/ 20 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...