Для этого нет стандартного метода, поэтому он будет зависеть от того, какой код пишет разработчик программного обеспечения. Например, этот код может просто хранить начальную дату, основанную на ваших часах, или, если быть более сложным, он может фактически получить официальную дату из Интернета. Что касается того, где он хранится, реестр - это только одна из опций, доступных программистам, он также может хранить его в скрытой папке данных приложения или в так называемом изолированном хранилище в .net или в любой другой папке в вашей системе. Он также может отправить уникальный идентификатор и дату начала на свой сервер и периодически проверять это. Хранилище может быть зашифровано или незашифровано. Люди, которые взламывают программы, реконструируют конкретный метод, который использовался, но для этого потребуются глубокие знания, если только это не очень простой метод, такой как хранение в удобочитаемой форме в реестре.
Большинство программистов, которые действительно хотят защитить свое программное обеспечение, определенно не выбрали бы этот метод.