Few days ago, I finished my project to build an SMS Server application in Delphi. It is ready to be distributed. But I couldn't do it yet becouse I have a problem (or an classic problem?). This problem may become a trouble for every programmers when they'll distribute their application. Yes, the problem is copying protection! That's it.
First way, I've tried to solve this problem by using a kind of product number. That product number was produced through a complex algorithm by decoding customer's informations such as name and so on. Unfortunately, I feel that is not an effective way to protect our distribute program from duplication.
Second way, I think by using a processor serial number that protection problem can be solved easierly. But in last I knew that's impossible to get a processor serial number, and then I tried to get a IDE drives serial number. Fortunately, that's possible to do that. I've got it, and it is an unique number. Although this way is seem to be a solution, in fact, it's not effective enough.
And yesterday, a friend told me, it's more effective to protect our distribute program by failing duplication process. In other word, that means is block the copy command! And he told me about "disk ID". Disk mean floppy or compact disk. He said that every disk have little space which it can be read by operating system. That space can be used to store "disk ID".
If we talk about duplication (or copy process), it means we have both of source disk and destination disk which source be copied on it. Like my friend said, and assume everything he said was right, I go to a resume that is easy to solve a distribute program problem if we can be read and write a disk ID at that recorded space (in source and destination disk).
THE BIG QUESTION IS HOW TO READ AND WRITE THE DISK ID TO THE FLOPPY OR COMPACT DISK? AND I REALY HOPE SOMEONE CAN EXPLAIN ME ABOUT MY FRIEND WAY DEEPLY.