0% found this document useful (0 votes)
57 views20 pages

CodeMeter SDK Quick Start Guide

Uploaded by

gianmarco1810
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views20 pages

CodeMeter SDK Quick Start Guide

Uploaded by

gianmarco1810
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

QUICK START GUIDE

CodeMeter®
■ Protection
■ Licensing
■ Delivery
About this Quick Start Guide

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 CodeMeter 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 CodeMeter 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
Options for Software Integration

QUICK START GUIDE

Options for Software Integration


You have three options for integrating CodeMeter in your application:

■ Automatic encryption with CodeMeter 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 CodeMeter 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

Target platforms AxProtector AxProtector AxProtector AxProtector AxProtector AxProtector AxProtector AxProtector
Windows macOs Linux .NET Python JavaScript Java Android

Windows x86  – –     –

Windows x86_64  – –     –

macOS x86_64 –  –     –

macOS ARM –  –     –

Linux x86 glibc – –  –  –  –

Linux x86_64 glibc – –      –

Linux ARMhf glibc – –      –

Linux AArch64 glibc – –      –

Linux x86_64 musl – – Optional Optional Optional Optional Optional –

Linux ARMhf musl – – Optional Optional Optional Optional Optional –

Linux AArch64 musl – – Optional Optional Optional Optional Optional –

Linux MIPS glibc – – Optional Optional Optional Optional Optional –

Android ARMhf – – – Optional Optional Optional Optional 

Android AArch64 – – – Optional Optional Optional Optional 

Included target Optional target Planned target Planned optional target

4
Options for Software Integration

QUICK START GUIDE

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 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 CodeMeter 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.
5
Options for Software Integration

QUICK START GUIDE

When using CodeMeter 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.

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.

7
Options for Creating Licenses

QUICK START GUIDE

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.

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

Purchase Order License

ERP/CRM CodeMeter Software


License
Central

Depot
Sales License
e-Commerce
Database Portal
Ticket Ticket +
Fingerprint
Admin

Ticket:
ABCDE-FGHIJ-KLMNO-PQRST-UVWXY

Vendor End User

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
Step-by-Step Instructions

QUICK START GUIDE

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 CodeMeter 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 “[Link]”. 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.

11
Step-by-Step Instructions

QUICK START GUIDE

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

12
Step-by-Step Instructions

QUICK START GUIDE

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.

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”.

13
Step-by-Step Instructions

QUICK START GUIDE

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.

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:

[Link]

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.

14
Step-by-Step Instructions

QUICK START GUIDE

The additional modules “ChangeFont” and “HexView” can be used to create modular pro-
tections 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”.

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.

15
Step-by-Step Instructions

QUICK START GUIDE

6
6

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.

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
Next Steps

QUICK START GUIDE

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
4D interoperability in secure license management

QUICK START GUIDE

4D interoperability in secure license management

Available for many operating systems and runtime environments:

PC / Server Systems PLC Systems


■ Linux ■ B&R Automation Studio
■ Linux Server ■ CODESYS
■ macOS ■ PC Worx (Phoenix Contact)
■ macOS Server ■ Rockwell Automation Studio 5000
■ Windows ■ Siemens TIA Portal
■ Windows Server
Programming Languages / Environments
Embedded / Tablet Systems ■ Native Applications (C/C++, Delphi, FORTRAN, …)
■ Android ■ .NET / .NET Standard (C#, [Link], …)
■ Linux Embedded ■ Java (J2SE, J2EE)
■ QNX ■ Script Languages (JavaScript, Python, …)
■ RT Linux
■ Wind River VxWorks
■ Windows Embedded
19
QUICK START GUIDE

Headquarters
WIBU-SYSTEMS AG
Zimmerstrasse 5
76137 Karlsruhe, Germany
Telephone: +49 721 93172-0
sales@[Link]
[Link]

Wibu-Systems is an innovative technology leader in the global software license lifecycle management market. In its mission
to monetize the business of software publishers and intelligent device manufacturers, Wibu-Systems has developed a
secure, unique, versatile, and award-winning suite of interoperable solutions that protect the integrity of digital assets,
technical know-how, and intellectual property against piracy, reverse engineering, tampering, sabotage, and cyberattacks.

CodeMeter, Wibu-Systems’ flagship technology, encrypts software, firmware, and sensitive data with the strongest
cryptographic algorithms and methods. The licenses generated are stored in secure elements, including industry-grade
portable hardware containers (USB dongles, secure memory cards, ASICs, TPMs), soft containers bound to the digital
fingerprint of the endpoint device, and cloud containers.

CodeMeter is available for PC, mobile, embedded, PLC, and microcontroller systems; its seamless integration with
existing back-office processes, such as ERP, CRM, and e-commerce platforms, provides an additional boost to operational
performance and logistics cost savings.

Ultimately, with CodeMeter, established sales processes can be redesigned to enable new customer-centric business
schemes that truly respond to the regional needs of the market.

Wibu-Systems Branch Offices


WIBU-SYSTEMS USA Inc. WIBU-SYSTEMS (Shanghai) Co. Ltd. WIBU-SYSTEMS K.K.
USA: +1 800 6 Go Wibu Shanghai: +86 21 5566 1790 Japan
+1 425 775 6900 Beijing: +86 10 8296 1560/61 +81 45 565 9710
sales@[Link] info@[Link] info-jp@[Link]

WIBU-SYSTEMS BV/NV WIBU-SYSTEMS LTD WIBU-SYSTEMS sarl


The Netherlands: +31 74 750 14 95 United Kingdom | Ireland France
Belgium: +32 2 808 6739 +44 20 314 747 27 +33 1 86 26 61 29
5040-008-02 / 2023-04-13 © WIBU-SYSTEMS AG 2023

sales@[Link] sales@[Link] sales@[Link]

WIBU-SYSTEMS WIBU-SYSTEMS
Spain | Portugal Scandinavia | Baltics
+34 91 123 0762 +46 8 5250 7048
sales@[Link] sales@[Link]

Wibu-Systems expressly reserves the right to change programs or this documentation without
prior notice.
® ® ® ® ®
© 2021 Wibu-Systems. WIBU , CodeMeter , SmartShelter , SmartBind and Blurry Box are reg-
istered 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