I'm curious about how time-limited (e.g. 30-day trial) software works.
I know how serial keys are generated and designed, but the time-limiting part is more complicated to understand, because it is not simple to ensure that the system's time is correct (e.g. user change it manually).
Full or "perfect" protection is impossible, but I'm curious to see some proof-of-concept or any suggestions.
I guess that used a trusted NTP server is an early solution, but it's not perfect (required Internet connection).
From my own experience, I have seen software with very robust time-limiting mechanism (impossible to cheat, even if we shut down network, change time manually or so)!