Question

I have included a time bomb within my software but have encountered an issue. My software works in the following way - if the network is available then connect with my server and provide a valid license key (if a valid key is produced then generate a license file which stores the expiry date and last run date) and if the network is unavailable (maybe a user isn't given access to the internet) then they email us with a code (which is based on some unique identifier for the machine in question) and a license file will be sent back to them. The issue I have is that the license file could be copied and then pasted into the appropriate directory when the software has expired -allowing a refresh of the license (supposing the machine is not connected to the internet since i can pull the time from an ntp server and that the machine time is set to some date in the past for which the software would have been valid). How can I get around this issue?

Thanks

Was it helpful?

Solution

Well every solution will be just a workaround. As mentioned in older StackOverflow - question here and here there are two approach i would consider:

  1. You could create a log file or (encrypted) registry-key which contains a Date-checker and will increment the date as long it's everything legit (System Date is not older than "Last Run Time") and valid (License valid).
  2. You could read the windows log and search for time-changes and additional use the log for Date Check.

As you see: Both have still some flaws and with enough willpower can be overcome.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top