General information
Terms and definitions
Access code is a unique identifier and a set of passwords for embedding into the protected program, owned by the developer using Guardant technologies.
Obfuscation of public interfaces – symbol obfuscation of public methods and properties.
Code flow obfuscation – obfuscation level of the protected program code execution sequence, in which the code is divided into several blocks, fake blocks are added to it, and their execution sequence is hidden from analysis.
Symbol obfuscation – replacement of type names, events, properties and methods with a random set of characters.
Strings encryption – encryption of string constants in the protected program.
The Settings menu is designed to:
- select protection methods for native and .NET programs;
- configure dynamic libraries required for the protected program to operate (hereinafter referred to as dynamic libraries);
- select an access code for embedding in the protected program;
- configure the display of messages to the user of the protected program;
- configure dongle monitoring.
Logically the menu can be divided into the following sections:
General settings
The section contains general settings for native and .NET applications and consists of the following subsections:
- Output directory;
- Silent mode;
- Dongle monitoring;
- Access codes;
- Protection library name;
- Windows x86;
- Windows x64;
- Linux x64.
Output directory
Subsection for directory configuration in which dynamic libraries will be saved, as well as the result.xml file with the program protection report.
The result.xml file is generated only for native programs protection.
By default, dynamic libraries and the report file are saved in the Protection project directory – C:\Users\[PC user name]\Documents\Guardant Protection Studio\Project [Protection project number].
To change the directory, follow the steps below:
- Next to the Output directory field, click the icon .
- In the Choose the result directory window, select the desired directory and click Select folder.
- Save Protection project.
Silent mode
Subsection for the output messages configuration about events related to the license for the user of the protected program.
To enable message blocking, it is necessary to follow the steps:
- Set the switch next to the Silent mode field to the active state .
- Save the Protection project.
To disable message blocking, it is necessary to follow the steps
- Set the switch next to the Silent mode field to the inactive state .
- Save the Protection project.
Dongle monitoring
Subsection for the configuration of the stream use for key extraction monitoring from a PC. In this case, the key check will be performed immediately, but it will be impossible for the .NET program to intercept the exception.
To disable monitoring, it is necessary to follow the steps:
- Set the switch next to the Dongle monitoring field to the inactive state .
- Save the Protection project.
To enable monitoring, it is necessary to follow the steps:
- Set the switch next to the Dongle monitoring field to the active state .
- Save the Protection project.
Access codes
Access code selection subsection for embedding into the protected program.
To select a code, it is necessary to follow the steps:
- In the drop-down list next to the Access codes field, select the required code.
- Save the Protection project.
Protection library name
Subsection for common name of dynamic libraries configuration.
By default, the common name is protectstorage.
To change it, please to follow the steps:
- Next to the Protection library name field, replace protectstorage with a new library name.
- Save the Protection project.
Depending on the program bitness and the operating system families, the delivery package of the protected program must include the corresponding dynamic library.
Windows x86
The subsection displays the name of the dynamic library required for the protected program to work in Windows x86 OS.
The library name has the following structure:
[common name of dynamic libraries][program bitness].dll
It cannot be changed manually. It changes automatically when the common name of the dynamic libraries is changed.
Windows x64
The subsection displays the name of the dynamic library required for the protected program to work in Windows x64 OS.
The library name has the following structure:
[common name of dynamic libraries][program bitness].dll
It cannot be changed manually. It changes automatically when the common name of the dynamic libraries is changed.
Linux x64
The subsection displays the name of the dynamic library required for the protected program to work in Linux x64 OS.
The library name has the following structure:
lib[common name of dynamic libraries][program bitness].so
It cannot be changed manually. It changes automatically when the common name of the dynamic libraries is changed.
Native applications protection
This section is designed to configure instant suspension of the protected native program when the Guardant key is removed from the PC - suspension of threads. It is used to protect executable files in PE format.
To enable suspension of threads, it is necessary to follow the steps:
- Set the switch to the active state .
- Save the Protection project.
To disable suspension of threads, it is necessary to follow the steps:
- Set the switch to the inactive state .
- Save the Protection project.
.NET application protection
This section is designed for .NET programs protection methods selection.
The utility supports the following methods:
- Obfuscate symbols.
- Obfuscate public interfaces.
- Code flow obfuscation.
- Encrypt strings.
Obfuscation of public interfaces is used only in conjunction with symbol obfuscation.
To enable methods 1, 2, 4 you need to:
- Set the switch next to the corresponding method to the active state .
- Save the Protection project.
To disable methods 1, 2, 4 you need to:
- Set the switch next to the corresponding method to the inactive state .
- Save the Protection project.
To enable method 3 you need to:
- Next to the Code flow obfuscation field, enter the obfuscation level of the code execution sequence (in percent). The maximum value is 100.
- Save the Protection project.
To disable method 3 you need to:
- Next to the Code flow obfuscation field, enter the obfuscation level of the code execution sequence equal to 0.
- Save the Protection project.