From Wikipedia, the free encyclopedia
Jump to: navigation, search

Dotfuscator is a post-development recompilation system for .NET applications developed by PreEmptive Solutions. It analyzes applications and makes them smaller, faster and harder to reverse-engineer. The obfuscation techniques used by Dotfuscator include renaming (replacing meaningful identifiers with short meaningless names), "overload induction" (renaming many methods to the same name, relying on overload resolution to choose the right meaning[1]); changing control flow, and encryption of string literals. Dotfuscator also provides pruning, linking, and watermarking features.

Dotfuscator's method of "overload induction" was patented[2] and is also used in PreEmptive's Java-language obfuscator, DashO.[3]

As with other obfuscators, Dotfuscator makes life more difficult for decompilers, but it does not claim to provide adequate protection.


Dotfuscator was developed and released in 2003 by PreEmptive Solutions in response to Microsoft's need[citation needed] for obfuscation of .NET framework assemblies.

Since 2003, the Community Edition has been included with Microsoft Visual Studio.[4]

In 2012, the Community Edition was expanded to offer exception analytics.[5] For the first time, a repository and rules engine that aggregates and analyzes incoming exception alerts was included with Team Foundation Server 2012.


  1. ^ Overload-Induction Method Naming, MSDN
  2. ^ US Patent 6102966: "Method for renaming identifiers of a computer program". Paul M. Tyma, PreEmptive Solutions, Inc. Filed March 20, 1998. Issued August 15, 2000. Expired October 7, 2008.
  3. ^ "DashO Java Obfuscator". Reviewed by Tapasya Patki, University of Arizona. September 10, 2008.
  4. ^ Beth Massi (23 February 2010). "Dotfuscator Gets Better and Still Free in Visual Studio". Microsoft, Inc. Retrieved 10 January 2013. 
  5. ^ "PreEmptive Solutions and Microsoft Partner to Provide Exception Analytics in Visual Studio 2012 and Team Foundation Server 2012". Microsoft, Inc. 13 September 2012. Retrieved 24 January 2013. 

External links[edit]