Search code examples
.netlicensingkey-generator

How to do or where to get a good licence key generator


We have a software that is using an old dll for generating licence key. However, the person who used it left a while back and we are not sure this dll is even remotly safe or even if he has the right to use it. In other word, we would like replace it.

Does anybody know a good tool that could be used to create a key generator or sites on how to do so ? We would like to be able to create our own key generator program in .NET. Of course, it has to be secure enough that nobody will be able to generate the key without the interface itself. what we had before required to send a string and would return the key. This would do.

I am fully aware that a new Key generator will not gives the same result and am OK with that since we'll use it on the new version of the product.

Edit : Forgot to mention, the key we are using actuelly can indeed be reversed to get the original string. We put into this string information that we would like to retrieve and garbage. The key was 16 characters long Hexadecimal. This, however, can change if we need to do it.


Solution

  • It depends on what you're trying to accomplish. If you are looking to prevent casual copying, almost any schema that binds the software to a single PC will work--there are a variety of commercial applications, including ours (CodeMeter). If you're looking to prevent true piracy, the key generation is irrelevant because that's not how software is cracked. Typically a debugger is used to set a breakpoint at the license-checking routine; once the location in the assembly is found, the code is simply patched to always return a positive result. We call this ACOB (a couple of bytes) patching.

    In .NET you can hack a program in less than 5 minutes using commonly-available tools (.NET Reflector, for example), unless the software has "true" protection.

    Again, it depends on what you are trying to accomplish. LIcensing can encompass creating and managing different business models (trial versions, pay per use, pay per user, net use, pay per feature, etc), anti-reverse engineering, anti-tampering (code integrity), and, of course, anti-piracy. Feel free to PM me if you need more info.