Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Shaun E on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Any help on securing a program from piracy?

Status
Not open for further replies.

mondi

Programmer
Sep 10, 2003
169
AL
Hello everybody!
I am trying to make a registration class for the program.
I mean if a user won't put the registration number, then the program will be limited in functionality. And for this, I thought to get the number of the processor (I suppose every cpu has its own ID, however I am not sure). But how can I get this number, or if you would suggest me something else ...
I want to make it this way because I don't want two computers to have the same registration number.
Any help would be very appreciated

Country of eagles
 
You could take the windows update approach. Give them the limited version and tell them to register online to download the rest of the app.

You can provide them with a registration number through the online registratation page and let that be that. Once your installer has finished installing the updates, have the installer consume itself (delete itself) so if the person wants to re-install, they have to come back online or call for a temporary link to the download.

This involves a good chunk of work though. Just a thought
 
Yes, but the problem is that maybe they won't have internet, and this happens quite often here in my country.
In the trial version I wanted to let them have all the functionalities of the program but to have a limited number of clients (suppose 5).
And I also heard from some people here that they cracked a program using Norton Ghost. they had one registered version and using Norton Ghost they could use the program in another pc that had the same parameters as the first. I really don't like this thing to happen to my program.
Once I saw a program made in Visual Basic 6 that used the processor ID for identifying the computer. So I thought maybe I could use the same idea in my program too.
However thanks for your idea

Country of eagles
 
If MS Windows cannot stop people copying there software, how do you think you will achieve this? If there is no online monitoring of the software and there is no server monitoring system then you must accept that people will copy the software!

Age is a consequence of experience
 
Another thought on copy protection...

A year or so I purchased a copy of a program. The publisher was so concerned about protecting their software that they had it contact their server everytime you started it th check if it leagally registered. The problem was everytime their server had a 'hiccup' the software crashed and I had to call them to have my registration reset on their server.

As you can imagine, I no longer run their software and would never recommend it to anyone. You need to find a point between protecting your software and annoying ligitimate customers.

Just my 2 cents...
Mel
 
Another solution, if you are really concerned about copy protection is to use an external security device, such as a dongle. Any number of copies of the program can be freely installed - but they will only work if the dongle is attached to the computer (e.g. via a USB port).


Hope this helps.

[vampire][bat]
 
Yes I know that it wouldn't be comfortable for the users to have to call us for the serial number. But here in Albania there is no law to protect the publishers of the software, so I have to, at least, eleminate the possibilities that I think would crack my program. If I put a serial number for all the computers where is installed the software then I will have to say goodbye to all my work. That is why I thought to get the cpu ID and to generate the serial number depending on this ID.
Would you please earthandfire explain me your idea in more details because I'm affraid I didn't understand you.
Thanks for your answers

Country of eagles
 
Thanks earthandfire but first I will have a look at the Windows Managment Instrumentation because it seems like it can solve my problem. For example I can use the System Installation Date. Although I changed in the regedit the value for the Installdate of the Windows, it didn't affect in the value that was stored at the WMI. So I think System.Management might be quite useful for me although it didn't have an ID for the processor (it had a DeviceID but its value was always CPU0)

Country of eagles
 
Have you looked at something like this:


(I use it and have no compalints}

Installation can be based on machine specifics. Pro version can be registered with a license file.

Later...
Mel
 
It sounds interesting, I will have a look at it as soon as possible. Hope this might solve my problems. Thanks Mel

Country of eagles
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top