WHY YOUR .NET APPLICATIONS NEED PROTECTION?
Freely available decompilers such as .NET Reflector can give
anyone access in seconds to the full source code of your .net libraries and applications.
Original C# Source Code
|
|
Decompiled C# Source Code
|
|
|
|
HOW CAN CODEWALL PROTECT YOUR .NET LIBRARIES AND APPLICATIONS?
Most software protection solutions offer either obfuscation, method body protection, native code protection or assembly encryption to protect your applications. CodeWall combines the best of all of those protection types into a single easy to use product.
With CodeWall you no longer have to choose only one protection type. CodeWall includes all of them and they are fully compatible with each other so you can use all application protection types at the same time to protect your applications or standalone libraries.
Method Body Protection:
Method Body Protection uses native code to protect the bodies of the methods of your .net libraries and applications leaving the method bodies unreadable so they can't be decompiled.
All the assembly metadata remains intact so this option can be safely used with shared components and libraries that rely on reflection or serialization.
Decompiler Output After Method Body Protection:
Decompiled IL Code
|
|
Decompiled C# Code
|
|
|
|
Obfuscation:
Obfuscation renames symbols such as namespaces, classes, structs, interfaces, enumerations, methods, fields, events, and properties making it very difficult to understand what they do.
CodeWall supports incremental obfuscation, custom renaming patterns and rule based obfuscation so you can fully configure how and what symbols are renamed.
Decompiler Output:
Before Obfuscation
|
|
After Obfuscation
|
|
|
|
Control Flow Obfuscation:
Control Flow Obfuscation scrambles the execution paths of the method bodies of your application making decompilers crash.
Decompiler Output:
Before Control Flow Obfuscation
|
|
After Control Flow Obfuscation
|
|
|
|
String Encryption:
String Encryption encrypts all the strings used in your application.
Decompiler Output:
Before String Encryption
|
|
After String Encryption
|
|
|
|
Assembly Encryption:
Assembly Encryption encrypts all the assemblies of your application inside a fully protected single exe that loads the assemblies directly to memory right before they are needed by the runtime.
Your original assemblies are never present on the hard drive. If somebody tries to analyze your application files all they will find is a fully protected exe with all the symbols renamed and all method bodies protected by control flow obfuscation and method body protection.
Before Assembly Encryption
|
|
After Assembly Encryption
|
|
|
|