Code control flow obfuscation allows to make IL code more entangled. Decompilers often crash on such code, so the code may be considered as much better protected.
By default, code control flow obfuscation feature is not used during obfuscation of the assembly.
To enable code control flow obfuscation feature you should apply a specially formed attribute to your assembly. In order to do that you can use the instructions below.
Instructions on enabling control flow obfuscation
- Open obfuscatable project inside the IDE
-
Add new source file to the project and
call it
ObfuscationSettings.cs
(for C#) orObfuscationSettings.vb
(for Visual Basic .NET). You may prefer to use another name instead ofObfuscationSettings.cs
orObfuscationSettings.vb
-
Fill
ObfuscationSettings.cs
with the following content (C#):using System; using System.Reflection; [assembly: Obfuscation(Feature = "code control flow obfuscation", Exclude = false)]
For Visual Basic .NET, fill
ObfuscationSettings.vb
with the following content:Imports System Imports System.Reflection <Assembly: Obfuscation(Feature:="code control flow obfuscation", Exclude:=False)>