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 SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

writing a licensed app. for home PCs 1

Status
Not open for further replies.

LucieLastic

Programmer
May 9, 2001
1,694
0
0
GB
hi All

I have an idea for an app. but need to make it run with a license on home PCs only, no networks involved.

How does one go about this, would like some pointers. It doesn't have to be too sophisticated, just enough to stop a user copying the exe on to another PC and trying to run it from there.

big ta
lou
 
What If: I have a Win2KServer network at home and I want to use your app????

(I was first going to reply LOL, but I changed my mind in telling you what is current practice)

So: Don't try to add an option like this, it wil only boggle your mind, and not deliver any results. Or go back to the old Lotus 1-2-3 option of a licence disk ;-)

Grtz, TonHu
 
The easiest way would be to write a small file (Text File/Table) to the windows system folder and use this to check whether the version of the program being run is the valid version or not. If somebody has just copied the exe then they wont have check file the system is looking for at startup, likewise if the exe is copied over a network. Of course if they install from the disk then they will be able to use your software but nothings ever 100% safe is it? I would personally look at writing some kind of time limit into your software and then charging the user to unlock it with a defined password!
 
well u can write a small textfile with the Hardisk serialno on it and u have to encrypt it to be more secure. so when ur program starts it automatically finds the file then decrypt it and check the serialno on it...

if someone copies ur exefile, the system would be useless!!! if he knows the filename... wat about the serialno... and of course ur encryption sequence !!!
 
Hi Weez -

Its ironic - but it would be easier if the program DID allow network use. Then you could delegate 1 machine as the server (even if its the only one on the network.) It would be then possible to control the number of concurrent users logged in (using a centralised file on the "server".)

How about - instead of saying no network use, you looked at restricting the number of concurrent users. If you only want 1 user to be connected - use the same machine for server and client.

Opp.

 
Hitokiri --
The problem with checking against a hard disk serial number is: what happens when the hard disk gets changed? This could happen because the user is migrating to a larger hard disk, or because the existing hard disk has failed -- disks of all types are the most failure-prone piece of hardware in your computer.

But whatever piece of hardware you authenticate against, some user might want to change it. Motherboard, processor, whatever. Figuring out whether you're running ont he same machine is in general a hard problem. Microsoft have attempted to do it with Windows XP; but due to people like me saying "but what if...?", they've had to water their solution down to the point of uselessness.

For a medium-to-large dollar piece of software, you can use a dongle, like a Dallas iButton or some such. Go to Google and search for "dongle". This way, your software can only be used by someone who physically possesses the matching dongle. But this is not very cheap, requires physically shipping the dongle to the customer, and even these can sometimes be cracked.

For shareware software, I think the best solution is to ask the user nicely to play by your rules -- you put a lot of effort into the software; if they are getting value out of the software, they should do it on the terms you ask. Plus if you want you could make the software run time-limited and force them to pay you before they get the unlocking password, as Eric suggested. -- Doug Burbidge mailto:doug@ultrazone.com
 
The hardware change thing is very true. You can do something similar to what Microsoft Im told considered (or actually do Im not quite sure.) This is to effectively "fingure print" the machine, they do this by taking a collection of information about several devices on your system.

So the HD Serial No, CPU iD (if available) etc..etc. I think its then supposed that if all these things change on the system - it is in effect a different machine - and should be re-registered.

To be honest, i think its a bit too involved and can be a pain if the user wants to transfer the software (legitamately.)

The easiest types of Apps to protect are (IMHO) accountancy programs (because you can use the company registration details) and Internet/network applications. It maybe the best solution for general purposes to follow the advice by Ronnin - keep prices down and disuade piracy that way.

Opp.

 
Some companies acually have the client contact them either by phone or email for an unlocking key code. Each time the program is re-installed, the user will have to contact you for the unlocking key code because the ariginal one won't work. The new unlocking code acually changes every day.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top