Agile. NET Code Protection
Agile.NET Code Protection helps you obfuscate every aspect of your code, including class and method names, managed resources, user strings, methods implementation, system and library calls. It protects more of your application because it knows what is safe to change and what needs to be left alone. Nevertheless, it gives you full control of the obfuscation process.
Agile.NET Code Protection Features
Advanced obfuscation features for .NET platform – Agile.NET obfuscator goes beyond traditional obfuscation methods. In addition to renaming your metadata entities, it also supports advanced obfuscation methods that will harden your overall protection scheme and foil reverse engineering altogether.
Entity Renaming – Agile.NET obfuscator renames all metadata constructs, this includes namespaces, class names, method signatures and fields as well as methods implementation and string values of your assembly. Renaming scheme includes ‘unreadable chars’ scheme, this method will transform classes, methods and field names to unprintable unicode chars. When decompiled, the result is an extremely difficult to understand source code. Since unprintable chars are used it won’t be possible to compile the sources produced after decompilation.
Control Flow Obfuscation – Agile.NET obfuscator provide control of flow obfuscation, control flow obfuscation hides the control flow information of the program by transforming exiting code flow patterns to semantically equivalent constructs, however different than the code originally written. The control flow obfuscation algorithm converts the original implementation into spaghetti code thus making it extremely harder to infer program logic. Agile.NET .NET obfuscator ensures that application code flow of the obfuscated assembly remains intact.
Cross Assembly Obfuscation – Cross Assembly Obfuscation allows renaming of external references thus dramatically increasing the number of obfuscated constructs. Given a set of assemblies that interface each other, Agile.NET will rename classes, methods and fields referenced from other assemblies uniformly. For example, if class A declared in assembly A is referenced from assembly B and Agile.NET renames class A to A1, it will also rename B’s external reference from A to A1.
Incremental obfuscation – Incremental obfuscation allows the developer to make changes to the original sources after releasing an obfuscated assembly and then provide a patch to the user that reflects the changes to the original application while preserving the name-mapping used in the original release. In order to accomplish this, a map file must be saved and later used to ensure that the renaming is preserved when making changes and re-releasing the obfuscated assembly.
New anti-debugger techniques can detect/fool any kind of debugger.
Support for different encryption algorithms and keys in each protected application.
Microsoft .NET 4.8 Framework support.