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