Skip to content
Torzen home page
Menu

Getting started

First protection

Step by step: preparing a file with symbols, uploading it to the panel, choosing functions, processing it and checking the protected file.

This guide walks through protecting one function in a Windows program. On macOS and Linux the steps are the same; only the file names change.

Prepare a file with symbols

Build a Release version with symbols: a PDB file with MSVC, DWARF information with GCC and Clang. Symbols let you choose functions by name. They are not added to the protected file. The symbol files page has the details.

Terminal
cmake --build build --config Release

Upload the file to the panel

  1. Sign in to the panel and choose New protection.
  2. Select the file build/Release/app.exe.
  3. Add build/Release/app.pdb from the same build.

The panel checks the file format and whether the symbols match. If the PDB comes from a different build, you see a message before processing, and no protection is used from your limit.

Choose functions

In the function list, search for LicenseManager::validate and set the level to Virtualization. Leave the other functions unprotected. The protection settings page explains how to choose a level.

You can save your choices as a profile. For the next release you upload the new file and pick the profile instead of selecting functions again.

Process and download

Choose Protect. The job joins the queue and the panel shows its position. Each run uses one protection from your daily limit, described on the limits and queue page.

When it finishes, download the protected file. Downloading it again does not use your limit. Files stay available in the panel for 7 days.

Check the result

Run the protected program and go through a path that calls the protected function. The program should behave exactly as it did before protection.

Tip

Run your automated tests against the protected file, not only the compiler output. That shows right away whether a function needs a lower protection level.

When protecting a whole function is too much, mark only part of it with code markers.