title: How to protect software from system date-time changes?
body: <p>I would like to add licensing system to application. For example: user buys license for 1 month and after that program expires (Kinda Anti-Virus style?).</p>
  
  <p>Problem is that application is supposed to run in systems which may or <strong>may not be connected to internet</strong>, so how to protect from date-time changes?</p>
  
  <p>Storing app startup and close times in encrypted file won't work as date can be changed (with program uptime of 8 hours per day, would be possible to extend license to almost 300% in ideal case - change time to app close time + 1 second before launching program).</p>
  
  <p>Another question - is there any way to protect from software like <a href="http://en.wikipedia.org/wiki/Deep_Freeze_(software)" rel="noreferrer">http://en.wikipedia.org/wiki/Deep_Freeze_(software)</a>? (maybe scan drivers?)</p>
  
  <p><strong>EDIT:</strong><br>
  I'm currently using smart card to store licensing information and will use code virtualizer on critical functions (I know about making breakpoints on API calls and inspecting passed data - don't need to hide that data, just to ensure things go as planned)</p>