Answer the question
In order to leave comments, you need to log in
What are the methods to protect an application with a time limit?
What are the current methods for protecting application programs (c ++) by limiting work by time? Yes, I perfectly understand that everything can be broken, but nevertheless I would still like to implement at least some kind of protection in this regard.
Answer the question
In order to leave comments, you need to log in
I don’t pretend to be durable, the solution is from my own experience:
1) we organize a secure storage (for example, an encrypted file), which cannot be read and changed just like that - we will store in it how much time the program has left to work, i.e. temporary resource;
2) we figure out how to generate this file - creating it by the program itself if this file is missing is a bad idea, because the user will simply delete it and the trial will be reset. A good option is to generate on the server, make a kind of "trial license request"; after installation, the license is requested, then the program itself works with this file;
3) every time you start the file, we read it (with decryption), see how much licensed time is left, set a timer (you cannot use the system time!), subtract the licensed time every N seconds, update the file. 30-60 seconds is usually enough. Time calculation error acc. will also be up to N seconds. Theoretically, every N-1 second the program can be killed and restarted, and then it will not have time to subtract the time counter, but I doubt that in such conditions the program can be used at all.
Quite a good option, unless, of course, a crowd of people who can debug Olly with their eyes closed does not claim to crack your software.
Oh, yes, and take some kind of packer - complicate life a little more (although not much of course).
Pre-installer for downloading with sending information about the system to the server and subsequent periodic check and update of the key. (key = license file for trial)
Before sending the file - compile with the "start" key, installing the trial.
The period for launching the application without an Internet connection is limited to 10 days.
Each launch in the presence of the Internet - we update the key.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question