Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementing Licencing mechanism for a Software [closed]

I am thinking of implementing a good licensing mechanism that has a good resistance against piracy. The required mechanism should not use an internet connection at each and every time the software is used. I am thinking of a mechanism based on hardware IDs etc. Do you guys have any better suggestions? What are the parameters/algorithms/characteristics that I need to concern to make a hack proof license mechanism?

like image 738
Chathuranga Chandrasekara Avatar asked May 13 '09 09:05

Chathuranga Chandrasekara


People also ask

What are two types of software licensing sources?

There are two primary types of software licenses: commercial and open-source. Commercial software licenses typically require a fee, while open-source licenses are free to use. However, open-source software licenses do come with certain obligations.

How does software licensing work?

Software licenses typically provide end users with the right to one or more copies of the software without violating copyrights. The license also defines the responsibilities of the parties entering into the license agreement and may impose restrictions on how the software can be used.

Which license type allows installation of software without restriction?

Public domain. However, copyright does not apply to works in the public domain—anyone can modify and use such software without any restrictions.


1 Answers

Ideally you need something that is OS independent.

I would recommend that you embed the license protection within your code or wrap your application within it in such a way that it cannot be run without the copy protection code having run first.

It would be best if your application needs a license key file in order to operate and that this isn't generated locally.

One way of doing this is that your application generates some form of image code based upon the hardware on it's initial run. This is supplied to you and in return you supply the license key which will allow the code to run. Best to base the hardware image around CPU and motherboard as these will change the least often.

Your app. should check against hardware image and license key whenever it is run.

If you want your app. license time limited then it should also keep track of how long it has run and embed it within the license key file.

Don't forget to encrypt the license file.

Also don't forget to make it more difficult to reverse compile your executable by use of a dotfuscator or similar.

like image 69
ChrisBD Avatar answered Nov 16 '22 02:11

ChrisBD