Overview and Compatibility when Wrapping with Instant Protection PLUS 3

Instant Protection PLUS 3 can wrap (.EXE) files, dynamic link libraries (.DLL), and other Win32 binary files like .OCX, .SCR files. This excludes .NET binaries (as these are not standard Win32 PE files), as well as any native x64 binaries. If your program fits the Win32 PE criteria, the wrapping option is ideal as it typically does not require any change to your application's source code. Wrapping also helps protect your Win32 application code from being analyzed and potentially modified.

Important

If your application format is not supported by the wrapper, you will need to use the Instant Protection PLUS 3 DLL instead. This only requires that you make a simple source code change to your application in order to use it; however, it allows you to use Instant Protection PLUS 3 with programs that cannot be wrapped (through standard Platform Invoke calls), such as .NET and 64-bit applications.

Compatibility

Instant Protection PLUS 3 is compatible with most standard format Win32 Portable Executable (PE) format binaries (EXE, DLL, OCX, SCR, etc.).

Incompatible Linker Options (C/C++ users)

Some Visual Studio advanced linker options are not compatible with Instant Protection PLUS 3 and will be disabled automatically. These options are set in Visual Studio under the Project / Properties / Linker / Advanced settings. Both Image Base Address Randomization (/DYNAMICBASE) and Data Execution Prevention (/NXCOMPAT) will be disabled in the wrapped application.

Known Issues

Required Configuration

Whether you are wrapping or using the Instant Protection PLUS 3 DLL, the experience is the same until the last two steps. The first of the two steps is to select the Integration Method. Choose the first option "Use the Instant Protection PLUS 3 wrapper" will take you to the Wrapper Settings step.

Wrapper Settings

The default settings are shown below, and you can change these to meet your requirements.

File to Wrap: Select the application in which to add Instant Protection PLUS 3 licensing features. Note: Do not wrap your installer or setup program. You must select a 32 bit Win32 PE binary file (such as .EXE, .DLL, .OCX, or .SCR files) that is not a 64 bit or .NET application.

Output Folder: This is the folder where the wrapped copy of your application will be generated (as well as any supporting files if applicable). Your installer needs to distribute the wrapped copy of your application that is generated in this folder. Note: If the File to Wrap is located in the same folder as the Output Folder, the original file name will be appended with a .unprot extension.

DPI Setting: Select how the license UI will detect DPI Awareness in order to scale the licensing dialog's text on systems with DPI settinsgs higher than 100%.

Important

It is recommended to leave this setting on Auto-detect DPI Awareness unless your protected application shows UI scaling issues. If your protected application does have scaling issues, you may turn the setting on or off to fix the issue. See the FAQ for more information.

I am wrapping a DLL: Check this option when wrapping a DLL to avoid possible freezes or hangs.

Rebuild resources: If you are having issues with your wrapped application not executing or if there are signs of resource corruption, try un-checking this option. Note: If you are wrapping an ActiveX/OCX/COM component, you may need to un-check this option.

Rebuild import table: Rebuilds the application's import address table.

Compress my application: This will generally decrease the size of your application as well as make it more difficult for a hacker to alter you code. Checking this option makes a drop-down list of compression algorithms available. If you are having issues with your wrapped application not executing, you should try the various compression methods or if those fail, try disabling this feature. Different algorithms have different advantages and disadvantages, and the default is recommended for most applications.

Detect debuggers: On startup, your application will attempt to detect if the user is running a debugging application. If a debugging application is detected, your application will display an error and fail to start.

Check its integrity: This helps prevent tampering with your application. Note: This option must be un-checked if you intend to digitally sign your application. You must digitally sign the protected application after wrapping with Instant Protection PLUS 3 or the signature will not be valid.

The following options are not available if you are only protecting your executable without applying licensing functionality.

Use the Instant Protection PLUS 3 API: Allows application developers to make calls into the licensing code in order to retrieve and update license information. Do not check this if you are not using the Instant Protection PLUS 3 API. See the Instant Protection PLUS 3 manual for the list of available functions.

Prevent itself from running in virtual machines: Instant Protection PLUS 3 will detect if your application is running within Microsoft Hyper-V, Microsoft Virtual PC, Parallels, Virtual Box, VMWare, or Xen Server guests, and if so an error will be displayed on startup and the application will exit. This option can help prevent users from bypassing activation on additional computers by copying virtual machine guests to additional host computers. Additionally, you can leverage this option to create two builds of your application (using two Instant Protection PLUS 3 projects) to require your Mac computer users to use separate license locations and activations between BootCamp and virtual machine guest environments (such as Parallels or VMWare Fusion, which are often used to boot the run the same Windows OS installation as BootCamp).

Prevent itself from running in Terminal Services: Instant Protection PLUS 3 will detect if your application is running within Terminal Services, and if so an error will be displayed on startup and the application will exit.

Wrap Application

After you choose your settings and press Next, Instant Protection PLUS 3 will wrap your file. If successful, you will see the following screen:

Instant Protection PLUS 3 automatically resets the license files on the development machine for the current .ipp file every time you wrap a file if you have this setting enabled in the Tools / Options menu. This allows you to immediately test the wrapped application as if it were installed on the computer for the first time.