|Dotfuscator > Understanding Protection with Dotfuscator|
Dotfuscator provides a multi-part approach to application protection. Each of those parts provides an important piece of an overall protection strategy - if one part is compromised, the other parts continue to provide effective protection, making it harder and harder for an attacker to accomplish their goal. And not only are there multiple parts, but each part has advanced features that go beyond the simple techniques used by other obfuscation products.
The first part of protection is Obfuscation, which operates on compiled code to make reverse-engineering difficult or imposible. Dotfuscator provides various obfuscation facilities:
The next parts of protection are the Checks that occur while the protected program runs. When the program detects an attacker is attempting to tamper or reverse-engineer it, it can defend itself with custom logic. Checks include:
The remaining parts strengthen overall application protection:
Dotfuscator also provides features that help you build, deploy, and debug obfuscated assemblies. These include:
Finally, there are a number of additional concepts that apply to projects that use individual language features or target specific assemblies. You can read more about these under Advanced Topics.