UniKey Console Tool

From SecuTech Wiki
Jump to: navigation, search

UniKey Console

User Guide

Version 8.3

Version 1.0 1.1 1.2 1.3 2.0 2.1 2.2 3.0 4.0 5.0 6.0 7.0 7.1 7.3 8.0 8.1 8.2 8.3
Date 2006.1 2006.8 2006.10 2006.12 2007.2 2007.4 2007.8 2008.5 2008.8 2009.3 2010.4 2010.6 2010.8 2010.9 2012.3 2012.4 2016.5 2016.7


The UniKey Console is a powerful tool to help software vendors manage their software development, license software and track their software's sales performance. It can be integrated into your ERP, CRM and financial system seamlessly. Designed to follow the waterfall software development procedure, the UniKey Console helps software vendors manage their different products along its whole life cycle. The feature based license management method is an innovative way to protect your software away from piracy and to license efficiently.

To administrate all software, check the sales history and gather information to prepare for the following software development, UniKey Console employs a database to record information. It supports almost all database techniques available in todays market, such as SQL, MySQL, and Oracle. Additionally, Console supports multiple users logging in to the system. Different operators in different roles can logon and operate the Console utility within their personal level of permission. For example, employees from a product department can login to the Console system, and submit product orders, but they cannot see any other information about the sales department.


This section will introduce how to deploy the UniKey Console on your system. The Console has two parts, the front is a GUI which is green software and does not need any installation. Users simply copy the folder to their computer. The next step is to install a database and create tables. In the SDK we provide instructional pictures, follow the pictures to finish the MySQL installation. If no version of MySQL Server is included in the SDK, you can download the latest version from: https://dev.mysql.com/downloads/mysql/. After installing the database, click on Start, and open the MySQL Command Line Client. Log in to the database by entering your password.

MySQL command line client
Device mode does not support multiple users and will not keep operation records on the database

To create the required tables, input "source file directory"\createconsoletables.sql (if that does not work try the command: source "source file directory"\createconsoletables.sql) and press enter. After the database has been successfully built, open the console GUI by double clicking on the Console icon (you may need to re-open the Console application to register any changes to the database).

UniKey Console Working Mode

The UniKey Console provides two different modes for users, Manage Mode and Device Mode. The Manage Mode is mainly used to manage the whole lifecycle of your software, and allows multiple operators to logon the system to implement their operations with their own levels of permission. Device mode provides a quick way to configure parameters or generate an update file for a UniKey device.

Manage Mode

The UniKey Console Manage Mode closely follows the software lifecycle, from the beginning of software design to the end of software development. At the design stage, software designers will separate the software into different blocks according to their functions. We highly recommend medium to large software vendors use Manage Mode to manage and license your software.


This system supports remote login. Users can set up the servers IP via the GUI, and log in to the server remotely to finish their operation. To start using the Console, double click on the UniKey Console. The login interface will pop up.

UniKey Console login page

Input the user name and password to log in to the system.

  • If this is the first time you are logging in to the system, the user name is administrator, and password is admin.
  • The administrator should log in to the system and change their password first, and then he/she can create other accounts for different operators.
  • If you try to log in to a server remotely, click on Network Setting and in the pop-up window, input the server IP address and port number.


The product panel provides a series of interfaces for product related operations, including creating license features and generating product license strategies by combining one or more license features together.

Feature Setting

Feature setting is the most basic element to form a license for a product. For example, if the software requires a license based on expiration time, a time module shall be selected and the expiration time shall be set. This will form a license feature. If more license strategies are going to be used, more license features can be created.

UniKey Console feature setting

Click on Add to add a license feature in the pop-up window.

UniKey Console add license feature

As you can see from the above picture, lots of license features can be used to build up a single product license, such as license module, memory, arithmetic, SID, max connections, partition information, etc.

License Module

This feature limits access to the software based on rules. When the correct UniKey is connected, the software bound to the UniKey is activated.

UniKey Console add license feature perpetual
License Module is the most widely used feature on all UniKey devices

There are two ways to use the License Module. The first is to bind a module to the software, once the module is enabled, the software will start working. The second is to set the execute count, so every time when the software is started the count will decrement until the value reaches 0.

A non-zero number must be set to enable the License Module. This number will not be changed unless Exe Count Mode has been selected.


UniKey has 4KB of memory which allows developers to store any information, such as a software abstract, version information, buyers or developers information, etc.

UniKey Console writing into memory

In the feature setting:

  • Input the encoding in the left column.
  • Input the start address, which refers to the start point where the content will be stored.
  • Input the length, which refers the length of content that will be stored in memory.


To protect your software safely, it is a good idea to write a block of code inside the UniKey device itself, therefore without the device, the software cannot run. The arithmetic option is designed for this purpose.

UniKey Console arithmetic feature
For the syntax and how to write an equation, please refer to the UniKey manual in the arithmetic section

In the feature setting:

  • Input your custom arithmetic.
  • Input the start address, to set the start point of the arithmetic.
  • Input the length, so that the arithmetic will end at the start address plus the length.

SID Range

SID is another important property in UniKey that can provide effective license management and software protection. Developers can use this feature to set it so that only one key or several keys can launch a specific copy of software.

UniKey Console software ID generation rules

Feature setting - In the SID generation mode, which will generate a rule for how UniKey SID codes are created, there are 4 different methods of generation:

  • All the same: all SID burned to UniKey devices will be the same.
  • Increment: the SID value of every UniKey device will add 1 from the initial value when burning.
  • Decrement: the SID value of every UniKey device will decrease by 1
  • Time/date: the SID value will be the produced from the current time/date

The initial value gives a starting SID value/position/number.

Update Tag

The update tag is mainly used to update related issues. It can be used to record the number of times the software has been updated, or protect an update file from being used by other UniKey devices with a different update tag.

UniKey Console update tag

Max Connections

Some software may employ a floating license strategy, where people on the network will share a license. The maximum number of connections can restrict the total number of users who share a license simultaneously on a local network.

UniKey Console number of max connections


For every UniKey device, the password cannot be customized, but developers can generate their own passwords by themselves. Passwords can be generated by entering a seed value in the seed setting, and when a license is produced, the password of the device will be changed to the value calculated by the UniKey system based on this seed value.

UniKey Console set seed

In the feature setting, input the seed value.

  • Each UniKey dongle can only generate a new password TWICE! After this it cannot generate anymore passwords.
  • When generating a new password, the dongle is formatted.
  • To reset the password for a 3rd time, the UniKey dongle must be sent back to SecuTech

Partition information

Each UniKey Drive device has four partitions:

  • Virtual CD-ROM emulation drive
  • Public partition
  • Password protected partition
  • Hidden partition

This page is used by customers to set the space for each partition on the UniKey Drive device.

UniKey Drive partition information

Files in hidden partition

UniKey Drive has a unique hidden partition which allows users to store files. Each file stored on the hidden partition is invisible and inaccessible to end users. Vendors could integrate UniKey Drive APIs with their software and then that software will be able to access the files stored on the UniKey Drives hidden partition.

UniKey Drive hidden partition files

The files stored on the hidden partition should have the filename as an 8.3 format, for example, 12345678.123

Product setting

Product setting is used to combine the basic license elements and features together to form a product license strategy, to help meet the different requirements of customers, businesses, and sales strategies. For each software package, decision makers can set several license strategies by selecting different license features which have been set in Feature setting, maximizing their market share and revenue. For some special requirements, a customized license can even be quickly generated.

UniKey Console product setting

The above picture shows the Product setting panel, and to add a license for a product click on the Add button.

After clicking on Add, this window is displayed

UniKey Console add new product
The configuration will affect this product, and will not change previous Feature settings

Input the product name; a comment can be added in the comment box, and please select the correct device type(s). In the Feature setting section, you can reset the update tag, max connections, seed, and SID generation mode by checking the respective item boxes. This provides a quick interface to modify the license settings. From the Feature list choose the preferred features from the list and click on > to move them to the products desired features on the right. These features will combine together to form a product license.

UniKey Console list product ID, name and any comments
Once an order has been placed on a product, this product will not be deleted

Based on the current product, you can create a new license quickly by using the Customize function; you can then input a new name and reset values or add more features to create another license. This allows you to easily create another product with a new name and unique product ID that may share features with other products. A product can be changed by selecting the product and clicking on Edit, or can be deleted by clicking Delete.


The sale function will help vendors to manage their customers and orders. It contains two configurations: Customer Management and Order Setting.

Customer Management

Customer Management will record all information about customers and their order history. If a customer wants to place an order, then this customer must be added to the customer list. Click the button Add to execute the corresponding operation.

Order Setting

Order setting contains order related operations, such as place an order, update a product, append a new order to an existing order, edit, delete, submit and check status.

UniKey Console order management


Production is mainly used for the production department, once an order has been submitted, the order will be passed to the production department, x and this order will be listed. The producer shall produce the order.

UniKey Console production management

Click on Production, and follow the instruction to finish the production procedure.

progress bar for production

If there is an error or problem in the order, the producer shall decline the order by clicking on decline, and then the order will be sent back to sales.


Administrators shall use the Management tab to add, edit and delete users, including user name, password, and assign permission levels.

UniKey Console user management

Device Mode

Device Mode provides you a direct way to configure all parameters for your UniKey device locally or to generate a remote update file. It is suitable for altering UniKey hardware operations and property configurations directly.

UniKey Console device mode login screen

When you click on Check status, the status of the device connected to the local computer will be displayed in the message box. By entering the correct password, and then clicking on User logon or Vendor logon, you can log in to the device as a user or vendor to perform operations within your level of permission.


Click on Configure on the left side of the control panel, all configuration options will be displayed in the dropdown menu:

  • General information
  • Memory
  • Algorithm
  • License and Time Module (Time Module is not available for UniKey Drive)
  • New password (Available in General information when logged in as a vendor)
  • Encrypt/Decrypt
  • Random number (not available for UniKey Drive)
  • Format (Under the Initialization tab for UniKey Drive)
  • Network

UniKey Console configure tab

You can configure any properties according to your own desired licensing strategies. By clicking on the corresponding options, you can enter your required parameters.

General information

UniKey Console general information (SID and Update Tag)

The HID is a fixed serial number, and cannot be changed.

In menu, the UniKey devices SID and Update Tag connected to your computer will show in the message box. You can change the SID and Update Tag value, by entering value in the respective input box and then clicking Write.


UniKey Console device memory details

In Memory, you can read, edit, and delete content stored in the UniKeys memory. By clicking on Read, you can read content from the UniKeys memory, and by clicking on Write, you can write all content edited by you into the UniKeys memory. To facilitate your editing, UniKey Console provides a load from file function. By clicking on Load from file, you can load content stored in a file to Console, and then write it to memory by clicking on Write. Alternatively, you can save the data which is read from the UniKeys memory to a file by clicking on Save to file.


UniKey Console write and run algorithms

UniKey Algorithm is a very powerful method to protect your software, as this block of code is stored directly in UniKey, independent in memory from where software code is stored. Without the right permissions, this block of code cannot be written to or read by anyone. An algorithm can be typed into the Input algorithm field. You can input more than one statement in your algorithm and each statement is separated by comma.

Input the start address to set the starting point for your algorithm, and input a length to set the end point. The end point address will be the start address plus length. Select a calculation mode, and then click on Write to write your configurations into the UniKey. If you want to run your algorithm for a test, you can initialize the variable, A, B, C, D, seed/module (depending on the selected calculation mode), and start address, and then click on Run. The result from A, B, C, and D will be displayed directly.

License Module

UniKey Console module settings

License Module allows you to enable/disable specified modules and set the number of execution times. In the list on the right side of the console, you can see a list and module status. Click on the white triangle to check each corresponding modules parameters and status.

UniKey Console greater module details
To enable a module, a positive number must be entered

Click on Check to view the information and status of a device and click on Write to write your configurations.

You can enable/disable the auto-decrement function by toggling the check box next to Auto-decrement. To check the information in all modules, you can click on the Check All button; you can also set all modules by clicking on Write All to write all settings to device.

Time Module (UniKey Time Only)

UniKey Console time module selections

The UniKey Time has 16 time modules to work with, and you can bind any time module with your whole software, or bind just a single piece of functionality, helping to achieve a time-based licensing strategy. Clicking on Read Time reads the current time from the dongle, and the time can be set by inputting the time in the Dongle Clock field (DD-MM-YYYY format) and pressing Write Time; otherwise you can synchronize your dongle's clock with your system time by pressing Write system time to device. Clicking on the white triangle icon to the right of any time module allows you to set the details for an individual time module.

Set Start Time

time module duration mode (days, hours)

You can utilize the current devices time or system time by clicking on Use device time or Use system time respectively. UniKey provides two different methods; expiration and duration, for you to select from (the default being duration). Inputting Duration Time indicates how long the user can use the software after it the given Start Time.

Set Expiration Time

time module expiration time (YYYY-MM-HH-MM)

If a module will never be used, you can click on Write, but if the module has been set before, then to reset the module, you must either erase the module first or check the Re-write option box. You can set more than one module at once by selecting Write All to set your modules in-batch; make sure to click Check All afterwards to check the status of all modules. Clicking on Erase All removes all settings stored each time module, please note that all modules will be initialized, so be careful when using the feature.

New Password

enter a seed value to generate four new passwords

UniKey does not allow users to defined passwords by themselves. The only way to change passwords is by using the password generation mechanism embedded in the UniKey Console. Please input a seed (numbers only) and click on New Password, all new passwords will be displayed in the New Password output boxes and will be recorded into the UniKey Console folder. The passwords of a UniKey dongle can only be changed twice, after which they cannot be changed again.


UniKey Console encrypt or decrypt text

Each UniKey dongle has an encrypt/decrypt function, and can store 3 keys inside each device. In the encrypt/decrypt option, you can choose the encrypt/decrypt operation, generate keys and check output. From the Select Operation drop-down menu, you can choose a specific operation. For example, choosing generate key, you can choose the key you want to use and click on Run to generate a secret key for your UniKey.

Encryt/Decrypt: to check the encrypt/decrypt result, you can choose your desired operation from the Select Operation drop-down menu. Select the key, choose the encoding, input your content (the length must be an integer multiple of 16) in the input box and then click Run, you can then see the result in the output box. To reverse the operation, you can click on < between the input and output boxes, choose the opposite operation, and then click on Run to check the result from the output box. UniKey also provides an MD5 algorithm, for you to perform checksums. You can perform the MD5 calculation by following the same procedure.

Random Number

enter a seed to generate four distinct randomly generated numbers

UniKey Console provides its own random number generator. By just entering a seed (numbers only) value and clicking Run you are provided with four random numbers in Result; the numbers generated are cryptographically random.


UniKey Console network settings

This option allows you to configure your UniKey device (PRO, Time, and Drive) in a network environment. In the first line, you can set the maximum number of users who can connect to the server simultaneously. The maximum number of concurrent users connected to a UniKey device over the network is 64511 (that is, the total number of ports [65535] minus the first 1024 reserved ports).

Client setting

  • Server IP is the servers IP address in the network. This address will guide clients to find the server in the network.
  • Server port is the port to build communications between client and server.
  • Time-out defines the maximum waiting period. If the client sends a request to the server, but the server does not send a response back in the set time, then the client is denied access.
  • The default time-out period is 5 seconds.
You can use this to control the behavior of the NetUniKey Client

The access mode box shows how NetUniKey Clients access the NetUniKey Server. If you set it to access by IP, NetUniKey Server accepts only ONE client per IP. If this value is set to access by process, the NetUniKey client from the same process can only be accepted once. If it is set to access by thread, NetUniKey can be accepted in any thread. Access by shared IP means all requests from a single IP will be counted as 1. To facilitate setting other devices with the same configuration, you can save your configuration information into a file, or to update a device remotely, you can generate an update file.

Working mode specifies how the UniKey Client will operate. If this value is set to local only, the NetUniKey Client will only work with a UniKey dongle attached to a local USB port. If this value is local->network, the UniKey Client will check for a local UniKey dongle attached to a USB port first, if this fails, it will try to search for the UniKey dongle attached to the UniKey server in the network. If you set it to network only, the NetUniKey Client will only work with the UniKey dongle attached to the UniKey server. When this value is set to network->local, the NetUniKey client will try to connect with the UniKey dongle attached to UniKey server first, and if it fails, it will try to load a local UniKey attached to a USB port.

Search mode sets how UniKey clients will try to find a UniKey dongle on the network. Local only is used for connecting to the server by using the server IP set in the configuration file. If it is set to local->broadcast, the UniKey client will try to use the information in the configuration file first, if this fails, the UniKey clients will broadcast to the local network to find the UniKey. If set to broadcast->local, the UniKey clients will broadcast to the network first, and will try to connect to the UniKey specified in NetUniKey configuration file when they cannot find any UniKey via the broadcast. You can save this configuration file by clicking on Save, or read the previous client settings file by clicking on Read.

Server setting

UniKey Console server settings
The default port is 5680

In this panel, you can enter the server IP, desired server port, and timeout. Enable/Disable the black and white IP list. To add an IP address to the list, click on the corresponding Add button, in the pop-up window, enter the start and end IP addresses. Or you can move an IP from the black list to white list by clicking on the >/< buttons.

  • If the white list is enabled, only IP addresses in this list can access the server. If the list is empty, then no clients can access the server.
  • The black list always has the highest priority. When the server starts, it will always check the black list first. If an IP appears in both the black and white list, the IP will be blocked.

File System

Please note that this section is only for the UniKey Drive Console.

File System allows you to manage the hidden and secure partition of the UniKey Drive dongle.

UniKey Drive Console file system initial window

Entering the Hidden Partition

UniKey Drive Console hidden partition login screen
The default passwords to enter the hidden partition are 12345678

To enter the hidden partition, please input all four passwords to the UniKey Drive file system, then press OK. All the data stored on both the hidden and secure partitions are encrypted using a 128-bit encryption algorithm.

UniKey Drive Console hidden partition filesystem

Entering the Secure Partition

UniKey Drive Console secure partition login screen
The default password to enter the secure partition is 123456

The secure partition is also known as the password-protected partition; customers can access it by providing the correct password.


Please note that this section is only for the UniKey Drive Console.

The Initialization tab for the UniKey Drive contains two parts; format and partition device memory.

UniKey Drive Console Initialization tab


UniKey Drive Console Initialization Format tab

By using the Format function, customers can format the UniKey Drive's 4KB memory, SID, license modules, algorithms and update tags.


To partition the UniKey Drive, you need to input all four passwords to log in to the Drive's filesystem. Pressing Default Password loads the default passwords automatically for you.

UniKey Drive Console Initialization Partition tab
The four default passwords are 12345678

Device capacity is the UniKey Drive's total memory; UniKey Drives are available in 2, 4, 8, 16, and 32GB variants. An image file (ISO) is used for UniKey Drive's virtual CD-ROM partition; a user can burn their own ISO files to the Drive's virtual CD-ROM. A vendor can modify the capacity of the hidden, normal, and secure partition. Vendors need to create a password for the secure partition, so that end users are able to open the password-protected partition.


UniKey Console read update file

Generate UniKey File

UniKey file is used by the UniKey Burner tool, when a customer wants to burn the dongles in a batch by using the same configurations and settings, this file will be loaded into the UniKey Burner tool. Pressing the Read button will load the information stored on the .uky file to the Console tool. The Generate button will create the .uky file with the dongles information/settings from the Console tool.

Generate Update File

UniKey Console generate update file

The Update File is used by the UniKey Drive Remote Updater; it does the same thing as the UniKey Remote Update Generator does.

The Properties to be bound box will allow the customer to bind specific HID, SID, License Modules and Update Tags to the generated .upt2 file. After binding with a specific value, the .upt2 file will check if the values stored inside of the UniKey Drive dongle are the same or not. If they are not the same, the .upt2 file will not update the UniKey Drive.

The Property to be written box allows the customer to use the .upt2 file for updating the settings and configurations of the target UniKey Drive. File password will allow the customer to set an independent password for the generated .upt2 file, and then when the end user updates their UniKey Drive by using the corresponding .upt2 file, they will need to input this password in order to access/use the .upt2 file.