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.