You are on page 1of 20

Quick Start Guide

CodeMeter®

■■ Protection

■■ Licensing

■■ Delivery
Quick Start Guide About this Quick Start Guide

About this Quick Start Guide


This Quick Start Guide gives you a brief introduction and overview of the protection
and licensing capabilities of CodeMeter.
The Quick Start Guide is part of the CodeMeter media kit. It includes:
■■ A DVD with the CodeMeter SDK (including Code Meter Protection Suite) and
CodeMeter License Central
■■ Two CmDongles that can be used as user dongle or developer dongle (Firm
Security Box / FSB)
■■ This Quick Start Guide.
The first part of the Quick Start Guide introduces you to the basic information about
CodeMeter, your options for integrating CodeMeter in your applications, and ways to
create licenses.
The second part includes step-by-step instructions for protecting an application and
creating licenses for it in only 30 minutes. This example uses Code Meter Protection
Suite for the quick and secure encryption of a demo application from the CodeMeter
SDK and a demo system of CodeMeter License Central hosted in the Wibu Cloud for
the creation of licenses.
The step-by-step instructions require the following:
■■ Installation of the CodeMeter SDK (on this DVD) on your computer
■■ A developer dongle (Firm Security Box / FSB) plugged into your computer
■■ Online access to the demo system in the Wibu Cloud
If you want to start immediately with the step-by-step instructions, you can skip the
next three chapters.

2
Overview Quick Start Guide

Overview
Protecting and licensing your software with CodeMeter is a simple two-step process:
■■ In Step 1, you integrate CodeMeter into your application.
■■ In Step 2, you create the licenses.
Both steps are completely independent, so you can choose which order you prefer.

While you integrate CodeMeter only once into every application, licenses are created
multiple times, individually for each client (called ‘user’ in this guide). For the simple
and automated creation of these licenses, you can integrate the license creation
process into your processes and tools as a third, optional step.
The licenses you create for your users can be stored in secure hardware (CmDongles)
or an encrypted, hardware-bound license file (CmActLicense). Both options are called
CmContainers. The licenses stored in a CmContainer can also be used in the LAN,
WAN or in the cloud via a license server.

3
Quick Start Guide Options for Software Integration

Options for Software Integration


You have three options for integrating CodeMeter in your application:
■■ Automatic encryption with Code Meter Protection Suite
■■ Simple integration with High Level API WUPI
■■ Custom integration with CodeMeter Core API

You can combine all three options as needed.

Automatic Encryption with Code Meter Protection Suite


Protection Suite is a repository of tools that allows you to encrypt entire applications
in only a few minutes and without any changes to the source code. The executable
code of your application is encrypted, and decryption routines are added that are
executed first when your application is launched. These check whether a valid license
is available and then use secret keys in the license to decrypt the application. The
original code of your application will only run after this process has been completed.

Protection Suite uses a two-step encryption process. Large amounts of data are
decrypted in the computer’s main memory. The keys needed for that purpose are
decrypted via the license they are stored on. In the case of CmDongles, this means
that the keys never leave their native hardware.
This two-step process offers two great advantages: Performance and security.
Performance is guaranteed by encryption in the main memory. For encrypting the
keys, many alternative sequences are integrated in the protected application, of which

4
Options for Software Integration Quick Start Guide

only one is selected at a time during runtime. This means that the interface between
the protected application and CodeMeter will always be dealing with different data.
This two-step encryption process that relies on many alternative sequences is one
of the key traits that make CodeMeter stand out from normal obfuscators and other
software protection products.
Protection Suite includes the following modules:
■■ AxProtector: Automatic encryption of native Windows, macOS, and Linux
applications and libraries
■■ AxProtector .NET: Automatic encryption of .NET assemblies
■■ AxProtector Java: Automatic encryption of Java SE (J2SE) and Java EE (J2EE)
applications
■■ AxProtector CmE: Automatic encryption of applications for embedded operating
systems like Linux ARM, Windows Embedded Compact (WEC), and Android
■■ ExProtector: Automatic encryption and code authentication of applications and
modules for embedded systems with custom operating systems compiled by you,
such as VxWorks or Linux.
Simple Integration with the High Level API WUPI
Wibu Universal Protection Interface (WUPI) is a High Level API that allows you to
integrate simple, but highly secure queries into your applications.
The integration happens on two levels: You request WUPI functions in your
application. During development, this uses a special library with wildcard functions
that always return true values. Before delivering your applications, you use Code
Meter Protection Suite to replace these wildcards with cryptographic functions. This
ensures that communication between your application and CodeMeter uses only
current protection mechanisms and does not rely on simple yes-no decisions.
When using Code Meter Protection Suite, you decide whether you only replace the
WUPI functions or add automatic encryption.
WUPI is available for native Windows, macOS, and Linux applications and libraries as
well as .NET assemblies.

5
Quick Start Guide Options for Software Integration

Custom Integration with CodeMeter Core API


CodeMeter Core API offers a comprehensive API for the direct integration of
CodeMeter into your application. It includes the following features:
■■ Allocation and release of licenses
■■ Symmetric encryption and decryption of data with secret keys, stored in non-
readable form in the license
■■ Asymmetric encryption and decryption of data with key pairs whose private
components are stored in non-readable form in the license
■■ Asymmetric signatures with private keys, stored in non-readable form in the license
■■ Borrowing and returning of licenses between local computers and a network
server
■■ Online and offline activation of licenses
There are examples for using the CodeMeter Core API in a range of programming
languages. You can also use the interactive CodeMeter API Guide software to learn
how to navigate through the CodeMeter Core API, test queries, and create the code to
be integrated in your software.

6
Options for Creating Licenses Quick Start Guide

Options for Creating Licenses


You have four options for creating licenses:
■■ The command line tool CmBoxPgm
■■ The visual tool CodeMeter License Editor
■■ Integration in one of your own applications
■■ The complete solution CodeMeter License Central
All four options are based on the same basic principle and use a High Level
Programming API (HIP).

All four options give you an opportunity for creating licenses directly and via a
file-based offline process. This offline process creates a fingerprint of the target
CmContainer. A remote context file (WibuCmRaC) includes the fingerprint and the
licenses already contained in CmContainer. You then create a remote update file
(WibuCmRaU) that is imported into the target CmContainer. The licenses are created
immediately in that container. The remote update file can only be imported once and
only into the specified CmContainer.

Command Line Tool CmBoxPgm


CmBoxPgm is a command line tool that you can use to create licenses. It includes all
options you need to create licenses and can be automated with simple batch scripts.

7
Quick Start Guide Options for Creating Licenses

CodeMeter License Editor


CodeMeter License Editor is a visual tool for creating licenses quickly and without
hassle. It is normally used for test purposes and includes the most common options for
creating licenses for CmDongles.

Own Applications
You have the option of developing your own application with which to create
licenses that match your requirements and processes. To do so, you can use either our
traditional API (High Level Programming API) or a web-based SOAP interface with
CodeMeter License Central.

CodeMeter License Central


CodeMeter License Central is a complete database solution for creating and managing
licenses.
CodeMeter License Central is available both as an on-premise and cloud-based
solution. You can run the on-premise version yourself in your network or data
center; the cloud-based solution is maintained for you in the Wibu Cloud by our
Operating Services Team. Both solutions are fully compatible, and you can switch
from on-premise to cloud-based versions at any time. For a quick and easy start with
CodeMeter License Central, we recommend to use the cloud-based version.
The basic process for creating a license with CodeMeter License Central is simple: You
configure your products via CodeMeter License Central. This is done a single time for
every new product you want to license.

8
Options for Creating Licenses Quick Start Guide

To create a license, you create a new order. This automatically produces an activation
code (ticket). You can use this ticket to create a license directly in the target
CmContainer, or you send the ticket to your user who can then retrieve the license
and transfer it into an approved CmContainer of his choosing. You also define which
CmContainers are approved: CmDongles or CmActLicenses. You can choose whether
your users can return licenses and transfer them to other CmContainers. CodeMeter
License Central gives your user a self-service portal and reduces your support efforts
considerably.
CodeMeter License Central can use WebServices to connect with ERP systems,
e-commerce platforms, and CRM solutions.

9
Quick Start Guide Step-by-Step Instructions

Step-by-Step Instructions
Firm Code and Product Code
A license essentially includes two codes: The Firm Code and a Product Code. The Firm
Code is the code given to you by Wibu-Systems. The Firm Code 6000010 is a public
evaluation code that is already included in the Firm Security Box. You can choose
any Product Code you want. Typically, you would use a separate Product Code for
each separate feature. In the following example, we are using the code 201000. This
Product Code has already been pre-configured in the demo version of CodeMeter
License Central, which we will use to create a license in the next step.

Protecting Your Application


In order to protect an application of any type automatically with Code Meter
Protection Suite, you use the AxProtector application. If you already have the
CodeMeter SDK installed, you can find AxProtector in the AxProtector group.

Project Type Selection


When starting AxProtector, you will be prompted to choose your project type. For our
example, we select “.NET Assembly”. AxProtector
automatically switches to AxProtector .NET.
If you want to protect a native application or Java
app, you should select the correct project type. The
first steps are identical for all application types.

10
Step-by-Step Instructions Quick Start Guide

File Selection
The File Selection page lets you choose the application you want to protect.

In our example, we are using a simple sample application included in the


CodeMeter SDK. It is called SampleNotePad and can be found in a subfolder of
“Public Documents”, named “WIBU-SYSTEMS\Software Protection\C#\FirstSample\
SampleNotePad\bin\Release”. The filename is “SampleNotePad.exe”. Enter this
application in the “Source File” field. By clicking on the “…” button, you can select
it in a “File Open” window. Similar examples for native code can be found in the
“Delphi” and “C++” folders.
AxProtector allows you to encrypt executable files (exe) and dynamic libraries (dll).
The Java variant supports Java Archives (JAR). Click “Continue” to get to the Licensing
Systems page.

11
Quick Start Guide Step-by-Step Instructions

Licensing Systems
The Licensing Systems page lets you define which licenses are needed to start the
protected application.

Choose “CodeMeter” and enter the following values in the following fields:
■■ Firm Code: 6000010 ■■ License options: Station Share
■■ Product Code: 201000 ■■ Minimum driver: 6.20
■■ Feature Code: 0 ■■ Minimum Firmware: 3.0
■■ Subsystem: Local
These settings mean that your application will require a license with the Firm Code
6000010 and Product Code 201000 to run. Licenses with a Firm Code of > 6000000
can be stored in secure hardware (CmDongle), or an encrypted license file bound to
the computer (CmActLicense).
You can skip through the next pages by clicking “Continue” until you reach the
Summary page.

12
Step-by-Step Instructions Quick Start Guide

Summary
The Summary page shows you an overview of the configurations you have chosen.

Select “Finish” to complete the process and encrypt your application automatically.
Your encrypted application will now be placed in the folder “protected”.

Launching the Protected Application


Start the protected application with a double click on the file. As you have not yet
created a license, your computer should return an error message, and the application
should not open.

13
Quick Start Guide Step-by-Step Instructions

Creating the License


CodeMeter License Central in the Wibu Cloud allows you to create licenses quickly
and with little effort. Open your browser and go to:
http://lc.codemeter.com/demo/

For Developers: Creating Licenses


CodeMeter License Central already has several demo products configured, including
SampleNotePad. Select whether your license should be stored on a CmDongle or in a
CmActLicense. If you want to use both options, your user will also have a free choice
of which activation route he prefers. In this example, we are using both options.
The additional modules “ChangeFont” and “HexView” can be used to create modular
protections for your applications. This specialist approach is not covered in this Quick
Start Guide.

When you have checked the right licenses, you click “Create Demo Ticket”.

14
Step-by-Step Instructions Quick Start Guide

The license was created in CodeMeter License Central and is ready to be retrieved by
the user. In actual operations, this would mean that you send your users the tickets
they need.
In our example, we now switch sides with the user and transfer the licenses to our
computers. To do so, simply click the ticket.

For Users: Transferring the License


In this example, we are now playing the user’s part and use a license portal
(WebDepot) to activate a license. To do so, the user enters the ticket to get access to
the license. We have already done so in this example by clicking on the link with the
ticket and are now shown a selection of CmContainer types.

15
Quick Start Guide Step-by-Step Instructions

We – acting as the developers – selected both options (CmDongle and CmActLicense)


in this example. As users, we can now select where the license should be stored. For
our example, we choose a CmActLicense bound to a computer.
The next page shows all suitable CmContainers for the selected license type. When
running this process for the first time, you will not yet have a fitting CmActLicense. The
selection box should display “Retrieve CmContainer automatically”.

16
Step-by-Step Instructions Quick Start Guide

Click “Activate Selected Licenses” and sit back and relax.


A new CmActLicense is being created in the background. The fingerprint of your
machine is then sent to CodeMeter License Central, which will check whether a
license can be created. The license is then created and a license update returned
to you. The license update is imported into CmActLicense, and a receipt is sent to
CodeMeter License Central.
After the successful activation of the license, you can start the protected application.
Congratulations! You have just protected and licensed an application successfully with
CodeMeter.

17
Quick Start Guide Next Steps

Next Steps
The licenses created in this example can be deactivated. As long as you have the
ticket, you can remove them from CmActLicense via WebDepot and reactivate them in
another CmActLicense on another computer or CmDongle.
When creating the license, you had the option to use the additional modules
“ChangeFont” and “HexView”. In the third example, these were used for modular
protection to show you how you can include features on demand.
The CodeMeter SDK includes the image of CodeMeter License Central for use on
virtual machines. Import this image into the virtualization software of your choice and
configure your products and modules.
This option allows you to create licenses completely offline and distribute them on
ready-to-use dongles or license files. Neither you nor your users need any Internet
connection. An activation wizard is available to help you move licenses into your
application in addition or as an alternative to WebDepot. You can find the relevant
examples in the CodeMeter License Central Internet Extensions.

18
Wibu-Systems Branch Offices Quick Start Guide

WIBU-SYSTEMS AG
Rueppurrer Strasse. 52-54,
76137 Karlsruhe, Germany
Tel +49 721 93172-0
Fax +49 721 93172-22
sales@wibu.com | www.wibu.com

Wibu-Systems Branch Offices


WIBU-SYSTEMS (Shanghai) Co., Ltd. WIBU-SYSTEMS USA, Inc.
Shanghai: +86 21 556 617 90 USA: +1 800 646 94 28
Beijing: +86 10 829 615 60 +1 425 775 69 00
info@wibu.com.cn sales@wibu.us

WIBU-SYSTEMS NV/SA WIBU-SYSTEMS IBERIA


Belgium | Luxembourg: +32 3 808 0381 Spain | Portugal: +34 91 123 0762
sales@wibu.be sales@wibu.es

WIBU-SYSTEMS BV WIBU-SYSTEMS LTD


The Netherlands: +31 74 750 14 95 United Kingdom | Ireland: +44 20 314 747 27
sales@wibu-systems.nl sales@wibu.co.uk

WIBU-SYSTEMS SARL
France: +33 1 86 26 61 29
info@wibu.fr

19
WIBU-SYSTEMS AG, a privately held company founded
by Oliver Winzenried and Marcellus Buchheit in 1989,
is an innovative security technology leader in the
global software licensing market.
In its mission to offer the most secure, unique,
and highly versatile technology, Wibu-Systems has
developed CodeMeter, a comprehensive, award-winning suite of hardware and
software-based solutions for computers, embedded systems, mobile devices, PLCs,
and microcontrollers that incorporates internationally patented processes dedicated
to protecting the integrity of digital assets.
Through its motto “Perfection in Protection, Licensing and Security”, Wibu-Systems
safeguards the intellectual property of software publishers and intelligent device
manufacturers against illicit and fraudulent use, reverse engineering and tampering
attacks, sabotage and espionage actions, while generating new digital business
models fully integrated with ERP, CRM, and e-commerce platforms.

5040-008-02/20171004 © WIBU-SYSTEMS AG 2017

WEEE Reg-No.
DE90465365

Wibu-Systems expressly reserves the right to change its programs or this documentation without prior notice.
Wibu-Systems®, CodeMeter®, SmartShelter®, SmartBind®, and Blurry Box® are registered trademarks of WIBU-SYSTEMS AG. All
other brand names and product names used in this documentation are trade names, service marks, trademarks, or registered
trademarks of their respective owners.

You might also like