protecting software

Hi all,

Do you know ways to protect software to only allow it to run on certain pcs?

The routes I have seen as a user is to have either a usb dongle that the software connects to for a key, or to generate a hardware profile (based on processor & other hardware serial numbers) from which the vendor creates a key, then the software only works on that pc.

Any thoughts would be great,


get hardware serial id,mac address,etc…thats’ the most common ways.
have you heared the WinLicense or enigma protector,they should do what you want quite easily.

I had to do this recently for both mac and windows.
You can get the ethernet id/mac address or the machine hardware id (windows) - hash that value with some other numbers - maybe with the users serial too, then stick it in the registry.

When the software starts it calculates what the value should be and compares it to the value in the registry.

Probably not impenetrable - but does the job.


Out of curiosity, when is this necessary (Theo + Chris)?

Also: if the software is connected to the internet, you could go the route that mass-licensed programs take and run a license server that checks the request against a database of registered computers, and hashes it with a few other things (the time, for example) before sending it back. But this is probably overkill if there are only a few pcs.