These tools are all free, written for the .NET Framework (in C# or VB.NET), and the source code is available on request.