Debugging

Eazfuscator.NET

Debugging

Introduction to Debugging After Obfuscation

  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. using System;
    using System.Reflection;
    
    [assembly: Obfuscation(Feature = "debug", Exclude = false)]
    Imports System
    Imports System.Reflection
    
    <Assembly: Obfuscation(Feature:="debug", Exclude:=False)> 
    
[Note] Note

How It Works

Possible Security Risks

  • The names of source files (including their full paths)
  • Line numbers
  • Associations between IL instruction offsets, line numbers and source files

Tuning

[assembly: Obfuscation(Feature = "debug [flags]", Exclude = false)]
Flag Description
secure Activates secure debugging
relative_file_paths Instructs to produce relative file paths in resulting .pdb file
nonintrusive Allows to perform nonintrusive debugging sessions to catch hard-to-reproduce bugs sensitive to time, size or other nonlinear factors

Secure Debugging

[assembly: Obfuscation(Feature = "debug [secure]", Exclude = false)]
<Assembly: Obfuscation(Feature:="debug [secure]", Exclude:=False)>
[Tip] Tip
[assembly: Obfuscation(Feature = "debug [secure] with password XXXXXX", Exclude = false)]
[Tip] Tip

Relative File Paths

[assembly: Obfuscation(Feature = "debug [relative_file_paths]", Exclude = false)]
<Assembly: Obfuscation(Feature:="debug [relative_file_paths]", Exclude:=False)>

Debug Renaming

  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. using System;
    using System.Reflection;
    
    [assembly: Obfuscation(Feature = "debug renaming", Exclude = false)]
    Imports System
    Imports System.Reflection
    
    <Assembly: Obfuscation(Feature:="debug renaming", Exclude:=False)> 
    
[Caution] Caution