IDA,">de4dot is an open source .NET deobfuscator with source (i.e., it reverses what an obfuscator did)
(Source in C#)
Features
Supports some popular obfuscators
Deobfuscates control flow
Cross-assembly symbol renaming
Decrypts strings
Decrypts resources
Dumps embedded assemblies
Dumps encrypted methods
Deobfuscated files are runnable
Removes other obfuscator junk
Supports pure managed .NET files only
Fixes peverify errors created by the obfuscator
100% Open Source
Many features work even if it's an unsupported obfuscator but the result may or may not be runnable.
It supports these obfuscators: