Guides
Symbol files
Why Torzen uses symbols, how to prepare PDB, dSYM and DWARF files, how the panel checks that they match the file, and what to do without symbols.
Symbols map function names to their addresses in the file. With them you choose functions by name in the panel and in settings, for example LicenseManager::validate, instead of looking up addresses. Symbols are used only for analysis and are not added to the protected file.
Formats
| System | File | Symbols |
|---|---|---|
| Windows | PE | PDB from the same build |
| macOS | Mach-O | dSYM bundle packed as a ZIP archive |
| Linux | ELF | DWARF in the file or a separate .debug file |
Preparation
MSVC: turn on the /DEBUG:FULL linker option. The PDB file is written next to the EXE or DLL.
Clang and GCC on Linux: build with -g. If you ship the file without symbols, split them off before stripping:
objcopy --only-keep-debug app app.debug
strip --strip-debug appThen upload the stripped app and, separately, app.debug.
Xcode: set DEBUG_INFORMATION_FORMAT to dwarf-with-dsym and pack the .dSYM folder:
ditto -c -k --keepParent build/App.app.dSYM App.dSYM.zipMatching the file
The panel compares the build identifier stored in the file and in the symbols: GUID and age for PDB, UUID for Mach-O, Build ID for ELF. If they differ, the panel rejects the symbols before processing and does not use your limit. The usual cause is symbols from another build, such as the previous release.
Without symbols
A file without symbols can still be protected. You mark code regions with code markers and select exported functions by their names in the export table.
Note
Symbols are deleted together with the input file after 7 days. You can also delete them earlier in the panel.