Я читаю между строк. Я думаю, что вы хотите сделать "пробную версию". Тем более, что вы упоминаете «взлом».
Лучшее не сетевое решение, которое я могу себе представить для дат «пробного периода», - не беспокоиться об абсолютной дате, а вместо этого внедрить обратный отсчет дней. Даже если пользователь потерпел поражение в течение нескольких дней, когда пользователь изменил дату и время CMOS / BIOS, вы все равно можете сохранить дату и время, а также счетчик системных тиков во время последней загрузки и при следующей загрузке. вверх, если выяснится, что дата сделала что-то иное, чем продвижение вперед на небольшое количество времени, которое меньше суток, то уменьшите счетчик «дней, оставшихся в пробной версии». Вы также можете посчитать часы, в течение которых приложение было активным, и просчитать это. Кто-то может продлить срок действия пробной версии на неопределенный срок, не допуская вашего приложения в сети и откатывая время, но если вы запустите службу, которая всегда работает в фоновом режиме, вы сможете отловить откаты часов и отключаются после некоторого числа (скажем, три) откаты часов обнаружены вашей фоновой службой.
Я мог бы, вероятно, придумать способ довольно точно заблокировать активные часы, используемые в приложении, гораздо точнее, чем дата.
На самом деле, если вы рассматриваете «пробную версию» программного обеспечения, почему бы не подумать о том, чтобы просто предоставить пользователю «хх часов пробного времени» вместо «30 дней». Если пройдет 30 дней, и ваш пользователь не будет тратить время на его продление, он может быть настолько раздражен, что истек срок действия пробной версии, прежде чем он потратил какое-то время на ваше программное обеспечение, что вы можете потерять продажу.
Профессиональный эскиз Google использует технику "обратного отсчета часов", и я обнаружил, что оценивать ее намного проще.
Я думаю, что этот ответ на другой вопрос - лучший, который я видел:
Каков наилучший способ создания программы, которая работает только в предварительно определенный испытательный период (период оценки)?
Реальный ответ: «все, что вы можете сделать, есть много людей, которые попытаются победить и взломать это». Шутки в сторону. Сколько времени вы хотите потратить на шифрование и запутывание? Вы не будете зарабатывать деньги таким образом.