dnSpy is a tool to reverse engineer .NET assemblies. It includes a decompiler, a debugger and an assembly editor (and more) and can be easily extended by writing your own plugin. It uses dnlib to read and write assemblies so it can handle obfuscated assemblies (eg. malware) without crashing.
See the *.license.txt files.