Engenharia Reversa em fontes C#?

Gostaria de saber se há métodos para se fazer uma Engenharia Reversa em fontes EXE feitos em C# , a princípio creio que devemos ao menos a versão do Framework em que foi compilado.