/

Understand how Shield protections work

Shield protections are powerful security layers that work individually or together to create a comprehensive defense for your application.

Shield's advanced protections outperform other obfuscators with these key advantages:

  • Seamless compatibility: Protections work together harmoniously, creating interdependent security layers for robust defense.
  • Multi-layer integrity checks: Beyond simple obfuscation, Shield adds verification at each level to detect and prevent code tampering.
  • Intelligent adaptation: Automatically optimizes for your specific framework—whether Xamarin, Blazor, .NET Core, or others—without manual configuration.
  • Always current security: Cloud-based protections ensure you're always using the latest defense techniques against evolving threats.
  • Flexible customization: Define custom responses to security events like debugging attempts, with granular control when needed.
  • Code-level exclusions: Easily exempt specific code sections from certain protections or apply customized protection settings.
  • Enterprise-grade debugging: Use security privileges to debug protected applications even with anti-debugging features enabled.
  • Clean exception handling: Get clear stacktraces and exception information without obfuscation interference.
  • Performance-optimized security: Experience robust protection without the stability issues or slowdowns common in other solutions.

Prevention Protections

Anti ILDasm

This protection marks the module with an attribute that prevents ILDasm.

Anti Debugger

This protection prevents the application from being debugged or profiled.

Anti Dump

This protection avoids the possibility of performing a memory dump on your application.

Anti Jailbreak

This protection prevents the application from running on jailbroken or rooted devices.

Obfuscation Protections

Renamer

This protection renames and confuses the symbols so that the decompiled source code cannot be compiled or read.

Constants disintegration

This protection disintegrates the integers of your application into several arithmetic, logical and conditional operations dynamically so that the original value cannot be obtained.

Constants Encryption

This protection encodes and compresses the constants (numbers, strings, and initializers) in the code.

Invalid Code

This protection inserts invalid code sequences that confuse decompilers while preserving runtime functionality.

Advanced and Integrity Protections

Call Hiding

This protection encodes and hides the references of your application.

Events Protection

This protection encodes and hides the events of your application.

Control flow (Advance)

This protection modifies the flow of methods so that it cannot be interpreted.

Virtualization

This protection transforms method code into a custom format executed by a virtual machine, making it extremely difficult to reverse engineer.

Metadata and Resource Protections

Invalid metadata

This protection adds invalid metadata to the modules to prevent the decompiler from rebuilding them.

Resource protection

This protection encodes and compresses embedded resources.

Useful documentation on protections

How to exclude protections from certain parts of the code

Exclude protections or modify their behavior from the code

Exclude certain members of your application or apply specific settings to specific pieces of code.

How to debug protected applications

Debugging protected applications with Shield

Deobfuscate stacktrace from exceptions generated in a protected application with Shield and debug applications in production with active protections

How to work with obfuscated exceptions

Handling StackTrace and exceptions in protected applications

Learn how to deobfuscate exceptions and understand the stacktrace of a protected application.

Configuration files for protections

Configure each of the protections in a personalized way

Configure the protection options in an advanced way to be able to make manual changes in each one of them.

Previous
Outputs