Usage

Protojo is a Windows console application that can be executed from any location on your computer.

Usage

To use Protojo, run the following command in the command prompt:

protojo.exe -key <your license key> -exe <compiled Xojo 64-bit application> -o <output Xojo 64-bit application>

For example:

protojo.exe -key FREE -exe "C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProject.exe" -o "C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProjectP.exe"  

The above will analyze and prepare for protection the specified file:

C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProject.exe

The resulting unprotected file will be saved as:

C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProjectP.exe

You can use the resulting file (XojoProjectP.exe) with the corresponding software protector. All Protection Markers and Protection APIs will be processed by the software protector, providing you with a properly protected file ready for shipping.

Tip

Using Protojo requires a working Internet connection.

Command line arguments

Argument Description
-key Your registration key or FREE for free of charge promo usage.
-exe The full path to your compiled Xojo application.
-o The full path of the Protojo processed output Xojo application. This file is not intended for execution or shipping; it is meant to be protected by the software protector.
Tip

If you attempt to run the resulting Protojo output file, you may receive a “DLL not found” error message. This is expected behavior. Software applications prepared for protection require the corresponding DLL:

Dll not found Dll not found

This is not an error. Software applications prepared for protection require the corresponding DLL:

  • VMProtectSDK64.dll for VMProtect
  • enigma_ide64.dll for Enigma Protector

The Protojo processed unprotected file is not meant to be executed directly, and the DLL file is only needed by the software protector.
If you protect this file with the software protector, the resulting protected file will NOT require any extra DLL files.

However, if you want to execute the unprotected file for testing purposes, copy VMProtectSDK64.dll or enigma_ide64.dll to the same directory as the Protojo output EXE file.

Automating Protojo Execution on Xojo Project Build:

Select Windows in the build settings:

Select build settings Select build settings

Select Build step -> Script from the Insert menu:

Select build settings Select build settings

Rename the script name to something meaningful, for example Protojo:

Rename build script Rename build script

Enter the following script:

Call DoShellCommand("C:\Tools\protojo.exe -key FREE -exe ""C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProject.exe"" -o ""C:\XojoProject\Builds - XojoProject\Windows 64 bit\XojoProject\XojoProjectP.exe""")  

The result could look like the following:

Protojo build script Protojo build script

Finally, change the script behavior Applies To to Release:

Protojo script behavior Protojo script behavior

This ensures that Protojo will process the file only when you build your Xojo project to the Release target and won’t affect your Debug builds.

Tip

Similarly, you can automate the execution of the software protector on the build of your Xojo project by adding the corresponding command line in the same or a new build script after the Protojo call.
Refer to the software protector manual for details on how to call the protector from the command line.