Code Protection
DotFix NiceProtect features advanced security technologies, including DotFix Morphing(tm) and DotFix Virtualization(tm), designed to prevent code decompilation and analysis. To utilize these features, you must first enable MAP file generation in your compiler settings and rebuild your application.
Once the MAP file is generated, open your executable in DotFix NiceProtect and navigate to the Code Protection tab to view the project's function list.
Select the specific functions you wish to protect.
Single-click to mark a function for protection. Double-click a function to inspect it in the built-in disassembler.
The disassembler includes a "Virtualized" toggle, allowing you to compare the original machine code with the morphed or virtualized output.
Note: The metamorphic engine generates unique polymorphic instructions and loops for every protection pass. Toggling the view will display a new variant of the code each time, demonstrating the dynamic nature of the protection that complicates static analysis.
Code Virtualization is highly effective against decompilation, particularly for critical VCL functions in Delphi and Free Pascal, which are often targeted by standard decompiler signatures.
Recommendation: To protect specific code segments within a function against analysis (rather than just decompilation), use the Virtualize Markers. By default, NiceProtect virtualizes the function entry point (up to the first branch or loop). Using markers ensures that the most sensitive logic deep within the function is virtualized.