The author of the software often takes a lot of time to find ways to identify if the program has already been installed and when. Also, it usually places traces in various locations on the system.
If you learn the technique for one program, that technique might not work for a different one. Also some developers don't go as far as others.
Some might ask you to register the program before you use it. If that were the case, it would be obvious that upon registration it's logging information concerning you and the installed application. Some places information in the register and checks that for validation. Some might use that as the only check. If that were the case, removing the register entry would start the count back to zero, which works for some programs.
Some programs use the registry plus some other secret location on the computer, where the user might not think to look.
For many programs it might be more costly to spend many hours trying to figure out the technique use for that program. If you consider an hourly value of your time or what you might pay an expert to figure it out for you, it might be much less expensive to just pay the fee to officially register the program.
If a developer wrote something in some 5 random location and the public found the five, on their next version they might add 10 random locations and try to make those even harder to find.
By the way, it's very clear that any program I've checked in the past actually uses the computer itself, because if you placed a clean drive and performed a clean installation, the program would start over as a fresh install.
So if someone took a program and figured that one out, whatever you found would probably only work for that one program. There wouldn't be a guarantee that it would even work for the next version or security update of that particular program you were able to figure out.
2Are you sure you got rid of all traces? – DavidPostill – 2014-11-08T15:35:29.590
Registry is not the only place where traces can be left. Other options could be some hidden directories in your user folder or even communicating with cloud services storing some identifying information about your hardware. – Jonas Schäfer – 2014-11-08T15:37:39.007
How do trial programs know they have been on your computer before? – DavidPostill – 2014-11-08T15:40:27.820
Depends on the program; what is the actual problem you are trying to solve? – Ramhound – 2014-11-08T15:58:45.870
@Ramhound I appeared like (as he said in his question) he was trying to learn how a program recognizes the computer. He might be trying to use the method to protect property he's writing. Of course, the question and answer might prove valuable to others who perform the search and are looking for ways to provide secured distributions of trial installations of their property. – L. D. James – 2014-11-08T16:14:54.960
I like actual problems. "how does drm work" is a vague question. – Ramhound – 2014-11-08T16:17:44.827
Ok, thank you all for the answers. Precisely as L.D.James said, I was curious about the principles behind this matter. – Mike94 – 2014-11-08T16:50:21.550