UniKey Enveloper Tool

From SecuTech Wiki
Revision as of 15:21, 28 August 2012 by Joseph (talk | contribs)
Jump to navigationJump to search


About UniKey Enveloper

The UniKey Enveloper is a powerful anti-piracy protection tool that can protect your software from unauthorized copy and usage. Usage of the tool can be likened to securing your application by wrapping it in a protective shell.

UniKey Enveloper provides the fastest and easiest automatic software protection solution to safeguard your executables, DLLs and data used in and by your application. The greatest advantage of using the UniKey Enveloper is that access to the source code of the application is not needed.

With this tool, protection parameters can be configured, and after wrapping software in a 'secure shield', no one else without your permission can use this protected software anti-debug mechanism will automatically be added to you application, rendering pirates who want to use reverse engineering method to hack your software impossible.

The Enveloper tool for UniKey STD, PRO and Time can be located in the UniKey SDK under the directory

UniKey SDK\Utilities\Enveloper\Envelop Tool\

The Enveloper tool for UniKey Drive can be located in the UniKey Drive SDK under the directory

UniKey Drive SDK\Utilities\Enveloper\Envelop Tool\

What Can Be Protected?

Enveloper protection can be directly applied to

  • Executables - Almost all application executables, including both PE and DotNet (2.0, 3.0, 3.5, 4.0) files.
  • DLLs - DotNet DLLs currently are not supported.
  • Data files.

Protection Procedure In a Nutshell

Note: It is recommended to run the UniKey Enveloper Tool on a 32-bit system. Few applications to be protected may not be successful when using the tool on a 64-bit system. Enveloped applications can be either for use on 32-bit or 64-bit systems.

Users can perform protection of software with UniKey Enveloper by following the procedure described below:

  1. Launch the UniKey Enveloper tool (Please note the Enveloper tool for UniKey Drive is different to UniKey STD, PRO and Time)
  2. Specify the application which to protect.
  3. Set protection parameters for the program.
  4. Execute.

After the envelope procedure, the end user can only access the protected software with the corresponding UniKey device; you may send your protected software together with the corresponding UniKey to your customer.

Enveloper Interface Structure

To launch Enveloper, double-click on the Enveloper executable and the Enveloper Control Panel will appear; no installation is required.

The UniKey Enveloper provides two different interface modes, Guide mode and Professional mode, to accommodate different user requirements and/or preferences. Users can switch between the two modes by clicking on the button in the upper-right corner of the main panel or selecting the interface mode from the [View] menu in the menu bar.

Guide mode is specifically designed for beginner users to allow uncomplicated use. In this mode, the tool will guide the user step by step in configuring desired settings.

Professional mode is suitable for advanced users who are familiar with the UniKey system. A greater variety of options is available to the user's disposal, and settings can be modified by selecting the specific parameters from the Solution window.

Upon launching the Enveloper, the interface will default to Professional mode. After creating a solution, the interface automatically switches to Guide mode.

Guide Mode Interface and Layout

The Guide mode interface consists of:

  1. Menu bar.
  2. Input window. In Guide mode, the Input window lets you specify options step by step, guided by tool.
  3. Progress navigation bar. The progress navigation bar visually communicates the user's current progress during configuration process, highlighting the current stage in yellow.
  4. Output window. The output window displays information including the Enveloper's running status and arisen errors.

  • New Solution: Create a new software protection solution.
  • Close Solution: Close the current open solution.
  • Add a Project: Add a project to the current open solution.
  • Open: Open a previous solution.
  • Save: Save all configurations of the current open solution, to the current working directory.
  • Save as: Save the current solution to a specified location.
  • Import: Open the configuration file created by a previous version of Enveloper.
  • Exit: Close the Enveloper program.

Protect menu

  • Protect Project: Execute Enveloper to protect the selected project.
  • Protect All Projects: Execute Enveloper to protect all the projects in the current solution.

View menu

  • Guide Mode: Switch the Enveloper interface to Guide mode layout, suitable for beginner users.
  • Professional Mode: Switch the Enveloper interface to Professional mode layout, suitable for experienced users.
  • Solution Window: Display or hide the Solution window.
  • Output Window: Display or hide the the Output window.

About menu

  • About: Displays information about the Enveloper tool, such as version number.

Project drop-down list

  • Project drop-down list: Displays the current project, and Helps you select the project which you are going to edit from the same solution

Protect button

  • Protect: Execute protection parameters of the project Enveloper.

Interface layout button

  • Guide/Professional Mode: Toggle between Guide mode and Professional mode.

Professional Mode Interface and Layout

The Professional mode interface consists of the components:

  1. Menu bar.
  2. Solution window. The solution window displays every project in the solution, and all the steps for setting each project in a tree view. By click on the settings in the solution window, you can easily access every setting.
  3. Input window. For every setting, the input window provides an interface for users to specify the setting desired. Users can use the solution window to configure the content in the input window.
  4. Output window. The output window displays information including the Enveloper's running status and arisen errors.

For interface component descriptions, see Guide Mode above.

Enveloper Settings

Source File

The executable file or .DLL file to be protected.

Data File

Data file(s) associated with the source file.

Output Location

The destination folder where the protected file will be saved to.

Password settings

UniKey utilizes a two-level permission system using four passwords, named password 1, password 2 up to password 4. Users can login as a User by logging on with the first two passwords, i.e. password 1 and password 2, or as a Vendor by logging on with all four passwords, i.e. passwords 1 to 4. Usage of the Enveloper to protect software requires the user to log onto the corresponding UniKey device as a Vendor with all four (correct) passwords.

Module settings

Modules refer to a particular aspect of a software application. Assigning a module number for a particular component allows, when enabled on the UniKey device, the specified module or corresponding function of an application to be executed or accessed.

Time settings (UniKey Time)

The UniKey Time model employs 16 time modules. Specific aspects of an application can be bound to a specific time module, and be used to indicate, for example, the duration time or expiration date.

HID settings

The Hardware ID (HID) refers to a unique, immutable ID assigned to an individual UniKey device, with no two UniKey devices containing the same HID. Options include binding with a single or selected set of UniKey devices with a specified HID. Binding software to a certain HID ensures only with a specific UniKey device(s) can HID-bound software be accessed.

SID settings

The Software ID (SID) refers to an modifiable ID of a UniKey device specified when burnt. Options include binding with a single SID or a SID range.

Background settings

When enabled, the background check setting refers to the time interval which the UniKey device is queried to confirm it is still plugged in. This function ensures that the UniKey device must be connected to the computer while the protected software is been used.

If the UniKey device is disconnected when queried, the program will freeze and the "No license" warning message (see UniKey Envelop Tool#Warning Message) notification window will appear twice before aborting the application.

Debugger settings

This function lets you protect your software from been cracked by using debugger techniques.

  • Basic
  • Advanced
  • Compress
  • Kernel
  • IDE
  • Virtual PC

Network settings (UniKey Pro, Time, Drive)

With network functionality, UniKey Pro, Time and Drive can provide protection of software through a local or remote network environment, allowing protected software to run with the UniKey device physically connected as well as restriction of access. When network functionality enabled, the protected software will search for the UniKey device on the network and execute only if the correct UniKey device is found.

To use the Network function, the following parameters need to be configured:

Working mode

Working mode refers to the location precedence of the UniKey device to be used.

  • Network Only: The protected software will only search for the appropriate UniKey on the network.
  • Local → Network: The protected software will first search for the appropriate UniKey on the local computer, and if not found, will then search the network.
  • Network → Local: The protected software will search for the UniKey on network first, and if i not found, will then search on the local computer.

Access mode

Access mode refers to the access restrictions of protected software running through the network.

  • Per Thread: No restrictions.
  • Per Process: Protected software can log onto the UniKey only once.
  • Per IP: For each IP address, only one instance of the protected software can be run.

Searching Mode

Searching mode refers to the method of locating the corresponding UniKey device on the network.

  • Direct Only: The protected software will search for the UniKey from the specified IP address only.
  • Direct → Broadcast: The protected software will search for the UniKey from the specified IP address, and if not found, will search for the UniKey on the local network.
  • Broadcast → Direct: The protected software will search for the UniKey from the local network, and if not found, will find the UniKey from the specified IP address.

Server IP: Defines the IP address of the server where the UniKey is connected.

Server Port: Define the port number used for the connection between server and client.

Time Out: Defines the timeout value in seconds of communication between the server and clients.

Start Dialog Settings

Enable or disable the start screen display function.

Warning Message

Define the warning and error output message.


Protecting Software using Enveloper

The Enveloper tool can be used to the adjust settings of and perform upgrades to a solution before protecting software at any time, regardless of the software development state of an application(s). During use of the Enveloper tool, the interfaces Guide mode and Professional mode can be used interchangeably.

Guide Mode

To begin using Enveloper in Guide mode, double-click on the Enveloper executable to start Enveloper, and click on the [Guide Mode] button in the upper-right corner of the main panel or selecting [Guide Mode] from the [View] menu in the menu bar.


New Solution

Create a solution by clicking [File], [New Solution] from the menu bar. The "New Solution" window will appear.

Select the UniType device type under "UniKey Type" that is to be used to protect the software. Enter the Solution Name and Description for the newly created solution in the appropriate fields, and select the destination folder where the new solution file will be stored. Click [OK] to confirm. The window will close and the Enveloper main panel will switch to Guide mode automatically, as shown in the following picture.

The new project created by Enveloper will be automatically renamed to [Solution Name]_1.

Select Files

Click on the [Add] button to include the executable program (.exe or .dll) to protect.

With an added file from the list selected, clicking on [Edit] will open the "File Editor" window, as shown below.

The "Source File" field refers to the pathname of the selected file to protect, and can be modified by clicking [...].

Data files associated with the executable can too be protected by clicking [Add] to add them under "Added Data Files".

The "Output Location" field allows refers to the output directory of the resulting protected application, and can be modified by clicking [...].

Click [OK] to confirm settings.

Repeat the above steps for adding additional executable files and associate data files. Each executable or DLL file can be associated with zero or more data files.

Click on the following icon

in the progress navigation bar to switch to Device Settings and progress to the next step.

Device Settings

Device settings refers to settings concerning the hardware device, and consist of:

To enable an option, tick the checkbox next to the option. Additional parameters of an option can be configured by clicking [Setting], switching over to the corresponding option under Professional mode. Options with a green tick are enabled, shaded ticks are not enabled.

To be able to use a UniKey device to protect software, the correct password of the corresponding UniKey device must be entered. To do so at this point, click [Setting] next to "Password", and input the corresponding password of the UniKey device in Professional mode.

Enter the correct four passwords, and then click [Guide Mode] to switch back to Guide mode.

To simplify user operation, default settings are already applied, e.g. enable background check by default.

Click on the following icon

in the progress navigation bar to switch to System Settings and progress to the next step.

System Settings

System settings refers to settings concerning the protected executable program, and consist of:

To enable an option, tick the checkbox next to the option. Additional parameters of an option can be configured by clicking [Setting], switching over to the corresponding option under Professional mode. Options with a green tick are enabled, shaded ticks are not enabled.

If you enable the [Network] function, you must click on the corresponding [Setting] button to configure the server address and related network parameters.

Click on the following icon

in the progress navigation bar to switch to Protect Project and progress to the next step.

Build Project

The input window displays all the details about your solution. You can check your configuration from this window, and click on the Protect button to execute your software protection with the Enveloper tool.

After the encryption operation has completed, the "Encryption successful" will appear in the output window. The project has now completed successfully and output folder

Professional Mode

To begin using Enveloper in Professional mode, double-click on the Enveloper executable to start Enveloper, and click on the [Professional mode] button in the upper-right corner of the main panel or selecting [Guide Mode] from the [View] menu in the menu bar (Enveloper launches in Professional mode by default).


New Solution

Follow New Solution in Guide mode.

Afterwards, switch to Professional mode.

Configure Parameters

By clicking on the parameters in the solution window, you can start to configure the parameters in the input window directly.

After finishing all configurations, click on the protect button to execute protection.

Remote Update

(Protect without dongle (Remote Update))

Consider the situation that UniKey devices have been distributed to end users and the users want to renew the software, such as update the latest version, the traditional way is that users need to send back their dongle back to software vendors, which cost shipping fees and waste time.

Our Enveloper provides application protection without dongle connection, to reduce logistic cost.

To start protect application without dongle, switch UniKey Enveloper to professional mode.

Uncheck the Insert Device Mode operation, for the rest configurations please follow the Protect Software using Enveloper instruction.

As there is no UniKey device connect to enveloper, if you want bind your application to a specified HID, the only way to do that is to select bind HID with Selected HID, and then select the specified HID value from the database where you saved the value before you sent the UniKey to the end users.(Later version will be added HID management part)

UniKey Enveloper is a tool to provide application protection, if you want to a update license remotely, please use the "Update Generator Tool", the general procedure is:

  1. Double click on the Generator Icon
    1. In "Basic Settings", set the correct password for the client's dongle.
    2. In "Basic Settings", check the "Bind Update Tag", and enter the current tag of our client's dongle.
    3. In "Basic Settings", also check the "New Update Tag" and enter a new Tag, so that after your client runs the updater, his dongle's tag will change (and because the update is bound to the old tag - item b - he will only be able to update his dongle once).
    4. In "Module Settings", set the value of Module 0 to the count limit (if desired), and check the "Auto decrement" box
  2. In "UPT File", click "Generate" and choose the destination for the upt2 file.
  3. Send the upt2 file and the "Updater" tool to your client, and ask him to run the Updater tool with the upt2 file with the dongle connected.
  4. Send the enveloped software to your client, together with the dlls.

For further UniKey Generator instructions please refer to UniKey Generator part in the UniKey tools manual.