The Map File
Dotfuscator generates a mapping file that associates old with new names. The new names of the classes, methods, and fields are shown. Bug tracking becomes difficult after renaming, especially with a high incidence of method overloading, making the map file essential.
The map file can be used to decode obfuscated stack traces as well as for incremental obfuscation. The map file also provides statistics regarding the overall effectiveness of renaming.
The elements of the mapping file are all very similar. A few things are noteworthy:
- If a <newname> element is absent, then the item was not renamed.
- In type names, nested class names are separated from the parent using the “/” character.
- Constructors are named “.ctor”, while static constructors (aka static initializers, class constructors, etc) are named “.cctor”. These are never renamed.
For additional reference, see the governing DTD for the map file.