Renamer

This protection renames and confuses the symbols so that the decompiled source code cannot be compiled or read.

This protection is available in the editions:
Community
Professional
Enterprise

Parameters

Password
This parameter indicates the password that should be used to encrypt the symbols when using the reversible mode.
  • IconType of value:  string
  • IconDefault:  null
Rename arguments
IIndicates whether the name of the method parameters should be deleted.
  • IconType of value:  bool
  • IconDefault:  true
Rename Enumerations
Indicates whether the name of the enumeration values should be changed.
  • IconType of value:  bool
  • IconDefault:  true
Flatten
Indicates whether types should be flattened by removing namespaces.
  • IconType of value:  bool
  • IconDefault:  true
Force popularity
Indicates whether the symbols should be renamed, even if the analyzer evaluates that the name should not be changed.
  • IconType of value:  bool
  • IconDefault:  false
Rename public elements
Indicates whether to rename symbols, even if the item is visible outside the application.
  • IconType of value:  bool
  • IconDefault:  false
Rename PDB
Indicates whether to change the names of variables and files in PDB.
  • IconType of value:  bool
  • IconDefault:  false
Rename XAML
Indicates whether the name of the XAML files should be changed.
  • IconType of value:  bool
  • IconDefault:  true
Console format
Console Parameters:
  • -password Set a password.
  • -renameArgs Rename arguments.
  • -renameEnum Rename enumeraciones.
  • -flatten Select whether to flatten.
  • -forceRen Force rename.
  • -renPublic Rename public items.
  • -renPdb Rename PDB
  • -renXaml Rename de XAML

Modes

Empty:
All symbols are replaced by an empty string.

IconIt is not recommended, it can cause various problems.

Unicode:
Rename the symbols to illegible Unicode characters.

IconIt is possible that reflection do not work in this mode.

Ascii:
Rename the symbols to legible ASCII characters.

IconIt is possible that reflection do not work in this mode.

Letters:
Rename the symbols to English letters.
Decodable:
Rename the symbols to decodable strings.

IconThe confusing name assignment will be saved in the output folder in the file "symbols.map".

Sequential:
Rename the symbols to sequential strings.

IconThe confusing name assignment will be saved in the output folder in the file "symbols.map".

Reversible:
Obfuscated names may be decoded by providing the password used in obfuscation.
Debug:
Add an underscore before the symbols.

IconNot intended for productive use.

Random:
Rename the symbols randomly with proper names of the .NET language.

IconHighly recommended, it creates confusion by similar the appearance of the original names and increases the difficulty in detecting it.

Code example

Exclusions

Include this attribute in your source code:

[Obfuscation(Exclude = true, Feature = "ctrlflow")]

You can exclude this protection from the methods or classes you want.

Learn to do it from the interface. (Coming Soon)

Compatibility