[Qt-interest] [OT] RE: how to implement trialware feature
Oliver.Knoll at comit.ch
Oliver.Knoll at comit.ch
Thu Jan 15 13:50:01 CET 2009
Sergey wrote on Thursday, January 15, 2009 1:18 PM:
> > ... But with tools such as
> > http://technet.microsoft.com/en-us/sysinternals/default.aspx it is
> > always easily possible to detect which files/registry entries an
> > application is trying to access.
> ...
> You are right. So i do not hope make 100% protection. I need just
> make hacking of my program as difficult as it is possible.
Then you don't even need a unique ID and a server which stores the initial start date for that ID (because a server access the way you have described it doesn't add any value to a solution for the problems I have outlined before): at first program start you create some "hidden files" (or registry entries), store the initial date.
At each program start you then check for the existence of these "reference files" and first determine whether the user has turned back the time. If so, immediatelly bail out. If the local system time seems to be correct (later than the time of the "hidden reference file/date") you check whether the 15 days have elapsed (given the "first start date" which is also somewhere stored in a "hidden place"). If so, bail out.
If all tests succeed you update the "last access time" of the "hidden reference file/date".
If the user uninstalls the application the "hidden reference file/date" and the "first start date" are NOT removed, so upon next application start you still check as before, and bail out if the application has been re-installed after the trial period.
Again, this approach is as safe as you manage to "hide" the "reference file/date" and the "first start date" information - with tools such as sysInternals it is easy to find out about those places and delete the information (you could even make a startup script for the app which would each time delete this information, so each time the app thinks it has been started for the first time), but most users don't even know about these tools (only geeks and programmers do - and all people on this list now ;) and even those in the know probably wouldn't bother too much to go into all this trouble of "hacking" your trialware app.
Cheers, Oliver
--
Oliver Knoll
Dipl. Informatik-Ing. ETH
COMIT AG - ++41 79 520 95 22
More information about the Qt-interest-old
mailing list