Easy to use software licensing system

As promised, the beta version for SimpleLicensingSystem, aka SLS, is now available in beta. This first version is designed for .NET application, and will let you setup the licensing of your app in no time:

  • – Add SLSLib.dll as a reference of your project
  • – Create a instance of a TWLicense, with your product name and a private ID
  • – Test the presence of a license with methods such as IsTrial or IsExpired
  • – Allow your users to enter a license key to enable their license

A tool (SLSKeyGen) is included to generate your license keys.

A sample (in C#) is also included in the package. As you can see, it’s a less-than-10-lines piece of code.

The sample source
The sample source

More functions will come soon, such as a C++ API, a more optimized license format, and the possibility to use the license as a container for variables & files. Please contact me if you need more info about the project.

About the security:

The main goal of this project is to provide a very straightforward API. The license and the keys are heavily encoded, and shouldn’t be easy to crack, however the API itself is based on .net, and even it was obfuscated, it could still be reverse-engineered. On the other hand, it’ll do the job to protect your app from what a standard user can do. If someone skilled enough decides to crack your app, he will probably succeed, even if you spent big bucks in the security. That doesn’t mean I won’t improve the tool: the next version will be based on native code, with a lot more of security locks/checks. However, the main objective of this project will remain the ease of use.


Download the package (you’ll need the .net 3.5 framework)

2 thoughts to “Easy to use software licensing system”

  1. What is the “kbase.lst” file that appears besides the exe?
    The sample remembers the last license key entered, is it stored in the registry?

  2. Well, the kbase is the list of your products, so you don’t need to retype them everytime. And yes, it shouldn’t appear next to the binary (more likely in App.Data). This was something I plan to fix in a later version.
    As for the sample, nop, no particular code to remember the last entered license. You sure it was in the sample?

    (I’ll update this post to illustrate how easy it is to use the api)

Leave a Reply

Your email address will not be published. Required fields are marked *