Perfect solutions

for software protection

and source code recovery

Compiler-aware protection for Delphi and Free Pascal

Obfuscate Delphi and Free Pascal RTTI and Compiler Metadata

Code virtualization alone does not remove the class names, form structure, controls, events and other compiler data that help a reverse engineer understand an application. DotFix NiceProtect rewrites those structures in compiled 32-bit and 64-bit Delphi and Free Pascal programs.

Compiled metadata can reveal the shape of your application

Delphi and Free Pascal binaries preserve information used by their frameworks and runtime libraries. Names such as a main form, registration dialog, license-checking method or button event can provide a readable map of otherwise compiled code.

A conventional executable packer or control-flow transformation can make instructions harder to follow while leaving these semantic clues intact.

De Decompiler showing randomized form, object, and event names after Delphi metadata obfuscation
After the other protection layers have been removed, a reverse engineer examining the obfuscated binary in a decompiler sees randomized names instead of meaningful identifiers.

What NiceProtect rewrites

Classes and forms

Randomizes meaningful class, form and object names while preserving the compiled application’s required relationships.

Controls and nested objects

Protects object names and supported events, including elements nested inside containers such as toolbar buttons and graph components.

Events and methods

Removes descriptive identifiers that can lead an analyst directly to sensitive business or licensing logic.

Independent output on every run

Names are randomized for each protection cycle rather than replaced with one fixed, reusable template.

Combine metadata protection with native-code defenses

Metadata obfuscation protects the compiler’s descriptive structures. NiceProtect can also virtualize or mutate selected native functions, add anti-debugging and anti-tracing checks, and pack code and resources. These layers address different parts of the reverse-engineering process.

For critical algorithms, see how to select native code for virtualization.

Delphi and Free Pascal metadata obfuscation configured in DotFix NiceProtect
The compiler-specific engine parses and rewrites RTTI and related application structures.

Technical background

The NiceProtect 26.1 overview explains the rebuilt Delphi and Free Pascal obfuscator, while the architecture article shows why decompiler expertise is required to modify these structures safely. The official metadata-obfuscation documentation describes the protected information in more detail.

Compatibility first: Always run the protected build through your normal functional tests. Compiler options, frameworks and application-specific runtime behavior can affect whether an aggressive transformation is suitable for a particular project.

Try compiler-aware protection on your own application

Download the trial, protect a Delphi or Free Pascal build, and test the result in your usual workflows before choosing a license. To inspect what the original binary reveals to a reverse engineer, open it in a decompiler before protection.