IP protection

IP Protection for Software without Licensing

Wibu-Systems introduces the ideal solution to protect trial and demo software or enable freemium models with free software designed to be expanded, enriched, and leveled up with in-app purchases. IP Protection becomes easier to use with CodeMeter Protection Suite both in CodeMeter Runtime and CodeMeter Embedded.

IP Protection, the newest feature of CodeMeter Protection Suite, makes finding the right combination of software protection and licensing easier than ever before. IP Protection currently supports Windows, Linux, macOS, and Android as well as x86 and ARM processors. The new mode can be used for executable files and libraries (Dynamic Link Libraries, Shared Objects, and Dylibs).

One suite – Several tools

CodeMeter Protection Suite offers a complete battery of powerful tools: AxProtector is used to encrypt complete executable files, which are then decrypted with the AxEngine attached to the encrypted file. As this happens in memory, the decrypted version of the file never appears on the drive, making reverse engineering impossible. IxProtector can be used to protect individual functions in an executable, which are kept encrypted even after they are loaded into the computer’s memory. They are decrypted either automatically when they are called up or in response to a special API call. This protects the software not only from reverse engineering on the hard drive; it keeps its guard up even when the attacker uses a memory dump. AxProtector and IxProtector work with both regular CodeMeter-type licenses and the new IP Protection mode. AxProtector, IxProtector, CodeMeter licenses, and the IP Protection mode can even be mixed and matched at random. The IP Protection mode for AxProtector .NET is also available with CodeMeter Protection Suite 10.50.

No runtime components required

Applications secured with the IP Protection mode need none of the runtime components of CodeMeter, i.e. neither CodeMeter Runtime nor CodeMeter Embedded, nor do they need the user to have a license ready. The decryption keys are hidden in the applications themselves to stop them from being extracted via memory dump. In this way, the IP Protection mode can be used in many possible scenarios, from firmware on embedded devices to office software, or applications running on servers or the cloud.

CodeMeter Protection Suite IP Protection pre-vents reverse engineering but does not stop users from copying applications outright – a feature, not a bug, when the specific use case of free trial versions or freemium models are concerned. With the encryption working without needing a license, the application is practically self-contained, making this type of protection a very user-friendly choice indeed.

Freemium application in 3D printing 

A typical example would be software for processing 3D printing data: The application is delivered with the full feature set, but artificially restricted to producing objects with a maximum size of 20mm. The users can download the software, test its features, copy it freely, and even print miniature products. However, as the entire application is fully encrypted, they would not be able to remove the restriction in order to enjoy the full potential of the software. Payment – be it by traditional means or via an in-app purchase – is the gatekeeper for getting the full, unrestricted functionality. This is where CodeMeter Runtime or CodeMeter Embedded can come into the picture. The users are given the right licenses, stored on a CmDongle, a computer-bound soft CmActLicense, or a user-bound CmCloudContainer. The license in the CmContainer deactivates the restriction in the free software, be it an artificial size limit or the ability to save, print, or export works (or whatever restriction on the full use could be imagined). This is done with CodeMeter Core API that allows the software developer to use specific functions in the CodeMeter licensing system, not just simple license checks, but also specialized options like time or volume-bound licenses or the assignment of network licenses. The developer could even integrate the transfer of licenses into the CmContainer via the API, e.g. to automatically retrieve licenses from CodeMeter License Central upon purchase from an online store or in-app purchase.

Combination with existing licensing solutions

There are opportunities for other use cases, such as combining an established licensing system with the reliable IP protection capabilities of CodeMeter. Imagine a software developer who already has a homegrown licensing setup in place. However, the developer’s work, the binaries, are sold to users in unencrypted form, making them easy prey for manipulation and reverse engineering. Solutions of this type that forego encryption and signature checks make it relatively easy to “patch away” the licensing checks – to manipulate the code to either skip the entire check or to keep working with a standard value. This circumvents the whole point of the licensing system. CodeMeter Protection Suite IP Protection naturally also works with other purely software-based, commercial protection systems; it can raise the bar significantly for any attempted breaches or reverse engineering. This is a favorite choice for developers migrating to the full CodeMeter setup, but still want their old licensing systems in place for a while.

Continuous development and improvement

Most users of CodeMeter will be familiar with protection only licenses. They work not unlike CodeMeter Protection Suite IP Protection, but require a version of CodeMeter Runtime installed with admin rights. This could pose a problem for B2B users working with trial software or some freemium offerings.

CodeMeter Embedded sometimes encounters version conflicts when using a combination of CodeMeter Core API and CodeMeter Protection Suite. The IP Protection mode has stepped into the breach to simplify the situation: For high-security use cases, where licenses would be kept on a CmDongle, it is still possible to use CodeMeter Core API in combination with CodeMeter Protection Suite with license-bound encryption.

CodeMeter Protection Suite IP Protection makes protecting software and introducing new business models a simple and pleasurable experience for software developers and their users alike. It was designed from the outset to work across PC and embedded platforms and to scale alongside the capabilities of CodeMeter Core API and the needs of developers. As loyal fans have come to expect from Wibu-Systems, all CodeMeter modules are fully compatible with each other and deliver an optimal, fully rounded software protection and licensing experience.                                 

KEYnote 38 – Edition Fall 2019

To top