Now, what kind of unique/stable value can be easily picked up using a pure perl script?
The same type of things that can be picked up using a batch file and built-in commands, and then some other things, see Win32 | [reply] |
What about reading the MAC-address or the CPU-id?
| [reply] |
| [reply] |
| [reply] |
"(it doesn't matter what, it just should not change overt time)"
Things such as MAC address, CPU ID may change if replaced (for example if replaced due to failure/upgrade). Something to consider if you plan on hardcoding this.
| [reply] |
To prevent hard-coding problems (as mentioned by marto), consider checking for the existence of some unusually named file in a standard directory.
If the file exists, your program can run; if it doesn't, it won't.
This gives you the additional flexibility to add machines without having to modify your software.
| [reply] |
Files can be copied from one machine to another ... which reduces their usefulness regarding getting unique values ...
| [reply] |
Make sure that the hole on the diskette doesn't damage the head of the drive, or else you might find yourself in a nasty lawsuit.
| [reply] |
If it were me, I would simply look for and adopt someone else’s license enforcement mechanism, and leave it at that. I do, in fact, sell a commercial product (tho’ not in Perl), and my experience has been that you can spend just as much time as you care to spend, imagining how everyone on the planet must, surely, be stealing copies of your stuff (and going to very great lengths to do so). “Did it ever occur to you that maybe the reason why people aren’t buying it is because your product sucks?” :-} You are quite likely to lose customers and prospects if you make your mechanism obnoxious. (For example, I have a standing rule: “No dongles, or No Sale. No exceptions.”)
The most important aspect of a serial-number control mechanism is simply that, “it exists.” I vividly remember how a friend of mine kept an expensive guitar in a cardboard case secured by the tiniest padlock imaginable. It was, he said, “to keep the honest people out.”
I have also been told that some purchasing departments, especially of governments, are not allowed to pay (public) money for something if its benefits can be obtained without a per-unit purchase... hence, there had to be some kind of a serial number, “something that must be bought.” I always thought this sentiment sounded rather peculiar, so don’t quote me on it.
Your Mileage May Vary.™
| [reply] |
Why? If it's an anti-piracy attempt then whatever you do is only going to block honest or ignorant people. If it's for some other reason you'd probably get better answers if you spell out the details a little.
True laziness is hard work
| [reply] |