Wibu-Systems Blog

Advantages of the CodeMeter Runtime

Posted by John Poulson on Jun 19, 2013 5:22:00 AM

I was recently asked why Wibu-Systems requires the installation of a CodeMeter "Runtime" on the end user's computer. There is one big misconception and several undocumented advantages that need to be explained. When one's goal is to provide the most secure software monetization system on the planet, one needs at the very least, to establish an encrypted communication channel between the protected application and the license container (dongle or software license). This is the fundamental reason we included the runtime option as a basic part of our architecture.

Misconception: The Installation of our Runtime is REQUIRED

CodeMeter Control Center Runtime icon in the Windows System Tray

The presence of the CodeMeter icon in the Windows System Tray is one way to determine the presence of the Runtime.

One of the misconceptions about the CodeMeter System is that it needs a "Runtime" in order to operate. This is not the case. The (highly flexible) CodeMeter System allows the ISV to integrate CodeMeter protection and license management features into the protected application in any number of creative ways. For example, ISVs can (in Windows):

  • Install standard runtime as an MSI module
  • Install standard runtime as a merge module
  • Install "silently"
  • Install as a Windows service
  • Simply copy CodeMeter.exe in the same directory as the installed program
  • Use the new CmCompact option
  • Use our custom CodeMeter Runtime Bridge
  • Incorporate our driver as source. We can supply this as a static library or as actual source code.

Each of these methods has its own set of advantages and disadvantages. For example, if you use the driver source code option, certain CodeMeter license handling features are disabled. With all these options available, why should you go to the trouble of seeing that the standard runtime gets installed in the suggested manner?

Answer: There are many technical and business flow reasons for a runtime. While I can’t list them all, a few appear below. We also feel that any license management company that wants to provide basic security is simply being lazy if they don’t provide a runtime.

Top Ten Reasons for providing a Runtime

Our customers gain several advantages by using the runtime in the manner we suggest. These advantages bring cost savings, higher security and less headaches. The top ten advantages are:

  1. We can quickly adapt to changes in operating systems without requiring that our customers download patches and recompile their software.
  2. The runtime includes the ability to create error log files and other diagnostics.
  3. The integration of networked licenses is simply one click away.
  4. The runtime knows how to handle virtual machine environments.
  5. The runtime knows how to handle terminal servers.
  6. The runtime maintains an encrypted communication channel between the protected application and the license container.
  7. The runtime keeps track of concurrent licenses; those in use and those that are idle.
  8. The runtime can simultaneously handle access from many DLLs in one process.
  9. The runtime can handle many executables from one ISV.
  10. The runtime can handle many different executables from many different ISVs.

As you can see from the above list, the advantages of a runtime environment far outweigh any perceived disadvantages. We will continue to improve the CodeMeter runtime and will continue to suggest that best practices include the installation of the runtime on the end user's system. We also suggest to the end user that he/she update the runtime on a regular basis.

See how easy it is to protect your software with CodeMeter. Watch our three-minute demo!

Watch the 3 minute demo!


john poulsonJohn Poulson has worked in the software protection industry since 1988 and has been with Wibu-Systems since 2000. He is an expert in license authentication best practices and deep powder skiing.

Topics: software protection, CodeMeter, secure licensing, software licensing, software activation

Wrapper or API to Improve Secure Licensing

Posted by John Poulson on May 7, 2013 12:57:00 PM

First a bit of history

Wibu-Systems’ API’s “secret sauce” will securely protect your softwareAs many of you reading this know, Wibu-Systems has been in business since 1989, developing secure license management tools that enable software monetization options for ISVs and embedded systems developers. From the early days we provided our customers with the option of implementing our technology through the use of our API or by using an automatic wrapper tool. We told our customers that the automatic wrapper option provided a “quick and dirty” way to get a protected program to market; but that the most secure way to deploy was through the clever use of our sophisticated functions and API calls. We spent considerable effort in improving those functions and creating new ones that improved the overall security of our licensing solution. For over a decade, our “best practices” advice was to use the API and not the wrapper.

After several years we began to notice that illegal copies of our customers’ “protected” programs were appearing on various hacker sites on the Internet. This was distressful to us as a company and we wanted to find out what we were doing wrong. Upon analysis, we discovered that the vast majority of our customers were using the API in a way that resulted in a simple challenge / response dialogue between the protected program and the hardware dongle. All of our sophisticated function calls and suggested implementation methodologies were not being used. The engineers at Wibu-Systems had spent several years creating API functions that were being left on the shelf.

Where to put our secret sauce

Once we realized our “secret sauce” was not being implemented we had to change direction with the advice we gave to our customers. And we had to improve the wrapper tools. For several years now, we have worked hard to enhance and improve the security and performance of our encryption utilities and now emphasize that customers who want a quick and secure implementation should utilize the wrapper. And for those who require the most security we suggest they implement both automatic encryption and API functions.

The result? The powerful tool many of you know today as AxProtector.

AxProtector — The right recipe

Wibu-Systems’s AxProtector is a smorgasbord of secure software protection for everyoneFrom debugger detection to sophisticated code encryption, AxProtector provides anti-tampering and reverse engineering protection. It is no longer a simple wrapper. Why? Because AxProtector encrypts and rearranges your executable, DLLs, data, media, or video files with minimal effort on your part. In most cases, you don't even have to change your source code. On program load, the program starts only if the required CodeMeter license is available.

And AxProtector is a smorgasbord to meet everyone’s requirements. Use it with software activation codes (CmAct) or hardware dongles (CmDongle).Use it with Windows, MacOS, Linux, .NET (also Mixed Mode), even VxWorks, and in the near future… Android.

The end result

As a result of our change in philosophy, we no longer put the bulk of our development effort into just creating API functions. We concentrate instead on improving AxProtector. And, it is true… part of that improvement process includes creating more sauces, improving existing sauces and changing the recipe. It is a constant process to stay one step ahead of the global hacking community. Now… Our “best practices” advice is to use the AxProtector wrapper along with the API.

Watch the 3 minute demo!

john poulsonJohn Poulson has worked in the software protection industry since 1988 and has been with Wibu-Systems since 2000. He is an expert in license authentication best practices and deep powder skiing.

Topics: CodeMeter, software copy protection, AxProtector, secure licensing