Как лучше всего создать программу, которая работает только в заранее заданный пробный период (период оценки)?
Мне нужно создать простое приложение, которое не будет работать через 30 дней.
Как я могу это сделать ?
Есть ли способ использовать пробную программу через 30 дней ?
6 ответов:
Если под " лучшим "вы подразумеваете наименее уязвимое, то на самом деле есть только один способ: сделать его интернет-приложением" программное обеспечение как услуга". Если вы не предоставляете доступ, они не используют программное обеспечение. Если это настольное приложение, то какая-то ключевая часть функциональности все равно должна быть где-то на онлайн-сервере.
Если хакер имеет все приложение на своей локальной машине, оно может быть реверсивно спроектировано и "взломано" некоторым образом. Единственный способ преодолеть это-гарантировать, что какая-то часть функциональности никогда не будет на их машине.
Я думаю, что лучшее решение-это приложение с ограниченными возможностями-скажем, вы можете выполнять основные операции, но чтобы воспользоваться лучшими функциями, вам нужно получить платную лицензию. Это делает две вещи-предполагая, что ваше приложение хорошо сделано и интересно для различных пользователей. Во-первых, вы можете привлечь большее количество людей, чтобы попробовать ваше приложение. Во-вторых, вы можете получить некоторую добрую волю, выпустив свою" облегченную " версию бесплатно.
Если вам действительно нужно сделать ограниченное по времени испытание, то я бы рассмотрел его запишите зашифрованный ключ в реестр (windows) или точечный файл (linux). Этот ключ может кодировать дату истечения срока действия. Использование реверсивного шифрования позволяет получить это значение обратно. Использование секретного ключа помогает защититься от того, что кто-то генерирует свой собственный (действительный) ключ. Полностью лицензированное приложение может использовать тот же механизм ключа, но шифрование значения ключа, которое позволяет постоянное использование.
Из моего ответа на реализация-сроки годности-в-приложении/1871218#1871218:
Вероятно, самый удобный способ сделать это-отслеживать количество дней, в течение которых пользователь использовал ваше программное обеспечение. Например, каждый раз при запуске программы вы можете записать дату в зашифрованный файл (если только дата уже не существует в файле). Затем, когда в файле будет больше, скажем, 30 дат, сообщите пользователю, что пришло время купить полную версию.
Реальные продукты, такие как Beyond Compare, используют эту схему - отлично подходит для потенциальных клиентов, которые устанавливают ваш продукт и не используют его в течение 30 дней только для того, чтобы обнаружить, что пробная версия истек.
Также имейте в виду, что ваша схема не должна быть совершенной, просто сделайте ее достаточно сильной, чтобы пользователям не было удобно ее ломать.
Пусть программа запрашивает ключ с вашего сервера при первом запуске и проверяет его действительность каждый раз при запуске программы и каждые 24 часа.
Другой вариант - иметь компилятор на стороне сервера при загрузке приложения. Это может "ввести" лицензионный ключ в двоичный файл. Это можно сделать, используя константу в отдельном файле. Это может быть связано с другими файлами pre-comiled. Этот метод медленнее, но труднее взломать, так как хакеру потребуется декомпилировать программу.