Skip to main content
Version: 2023.4

12.3. Inspection-Friendly Obfuscation

Inspection-friendly obfuscation is a special mode of obfuscation when you can review the resulting assembly by an unaided eye. This mode can be achieved by temporarily applying one or more inspection-friendly settings to your assembly.

Caution

Please take care extreme when you apply inspection-friendly settings to production assemblies; otherwise, original symbol names may leak to the outside world.

12.3.1. Preserving the Original Names

This is the most powerful inspection-friendly setting. It allows to keep the original names for all classes and members while preserving other obfuscation features on.

Instructions on preserving the original names

  1. Open obfuscatable project inside the IDE

  2. Add new source file to the project and call it ObfuscationSettings.cs (for C#) or ObfuscationSettings.vb (for Visual Basic .NET). You may prefer to use another name instead of ObfuscationSettings.cs or ObfuscationSettings.vb

  3. Fill ObfuscationSettings.cs with the following content (C#):

    using System;
    using System.Reflection;

    [assembly: Obfuscation(Feature = "apply to type *: renaming", ApplyToMembers = true, Exclude = true)]

    For Visual Basic .NET, fill ObfuscationSettings.vb with the following content:

    Imports System
    Imports System.Reflection

    <Assembly: Obfuscation(Feature:="apply to type *: renaming", ApplyToMembers:=True, Exclude:=True)>

12.3.2. Disabling ILDASM Suppression

ILDASM is a special .NET tool which allows to translate the binary assembly files into text files filled with readable IL code.

By default, Eazfuscator.NET automatically adds SuppressIldasmAttribute to the output assembly whenever possible in order to block the possibility of running ILDASM on your obfuscated assembly.

You may prefer to override that behavior and make output assembly friendly to ILDASM.

Instructions on disabling ILDASM suppression

  1. Open obfuscatable project inside the IDE

  2. Add new source file to the project and call it ObfuscationSettings.cs (for C#) or ObfuscationSettings.vb (for Visual Basic .NET). You may prefer to use another name instead of ObfuscationSettings.cs or ObfuscationSettings.vb

  3. Fill ObfuscationSettings.cs with the following content (C#):

    using System;
    using System.Reflection;

    [assembly: Obfuscation(Feature = "ildasm suppression", Exclude = true)]

    For Visual Basic .NET, fill ObfuscationSettings.vb with the following content:

    Imports System
    Imports System.Reflection

    <Assembly: Obfuscation(Feature:="ildasm suppression", Exclude:=True)>