Mono.Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.
To put it simply, you can use Cecil to:
- Analyze .NET binaries using a simple and powerful object model, without having to load assemblies to use Reflection.
- Modify .NET binaries, add new metadata structures and alter the IL code.
Cecil has been around since 2004 and is widely used in the .NET community.
The best way to learn how to use Cecil is to dive into the Cecil.Samples repository. It's a growing collection of samples with the goal of showing how to get things done using Cecil, as IL manipulation can sometime get tricky.
Cecil is a project under the benevolent umbrella of the .NET Foundation.
To discuss Cecil, the best place is the mono-cecil google group.