C # demo apllication (winform) - истекает через определенное время - PullRequest
0 голосов
/ 04 мая 2011

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

Тогда мое приложение все равно запустилось бы, потому что теперь «текущая дата» может быть через 1 день после «первого запуска» ..

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

Спасибо за потраченное время.

Ответы [ 3 ]

0 голосов
/ 04 мая 2011

У меня есть простая проверка в коде одной из моих программ в бета-версии.Это в значительной степени делает то, что вы говорите.В исходном коде это жестко закодированная дата.Затем логика просто проверяет, является ли текущая дата более ранней, чем жестко закодированная дата.Довольно примитивно и опирается на системную дату пользователя.Однако, как только она пройдет, программа не запустится, пока не будет изменена системная дата.Как я уже упоминал, я использую это для бета-версий, а не для моих производственных программ, которые имеют период оценки.Для этого я использую Infralution License Tracker.Это платное ПО, но оно позволяет устанавливать периоды оценки, а также фактическое лицензирование кода.

0 голосов
/ 04 мая 2011

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

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

0 голосов
/ 04 мая 2011

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

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