BotKitty (currently in beta) is a tool for writing bots in C#.
It provides an API + runtime + user interface out of the box.
For full documentation check out
.Downloads is below.
Programming is done in a plugin fashion.

Some things you can do with it:
Search for a substring and read in full string of each match:
Code:
//Print whole string of some string match
IProcess process = ...;
var matches = process.MemFind("substring");
foreach(var address in matches)
Console.WriteLine(process.MemReadString(address));

Listen for mouse presses on a single window:
Code:
var window = ...;
window.OnMousePress += delegate (
MouseKey key, Modifier modifiers, double x, double y)
{
Console.WriteLine("Pressed: " + key.ToString());
};

Press in the middle of a window, and always in the middle:
Code:
IWindow window = ...; window.MouseClick(MouseKey.Left, 500, 500);

Fake an browser. Allowing you to make logins and keep sessions alive:
Code:
IHttpClient client = ...;
var req = new HttpRequest
("https://accounts.google.com/Login?hl=SV");
var vars = new NameValueCollection();
vars.Add("var_name", "var_value");
var resp = client.Post(req, vars);

When dealing with raw data coming from the network a BitExtractor can help.
With it you can pull off scalars, arrays and individual bits in a streaming
fashion.
Code:
Stream stream = ...; BitExtractor extractor = new BitExtractor(stream); var integer = extractor.Read<int>(); var num = extractor.Read<double>(); var bit_field = extractor.ReadBits(3);

Edit #2:
More examples:
-

Today BotKitty has a philosophy of playing nice with as many libraries as possible.
But it was not that way back in the days.
Once upon a time I wrote this program using raw C++ and used Javascript as the plugin system.
What was quickly revealed was that I had to implement or write bindings for any library any
programmer ever wanted to use.
Making it hard to interact with amazing libraries like EasyHook and Blackmagic.
This is why C# is used as the plugin language.
This allows you to incorporate BlackMagic, EasyHook, AutoIt, Visual Basic and even
C++ where BotKitty is lacking.
We are all in the same sandbox.
How the GUI looks:
Virus scans:
-

-

Edit #1:
If you liked it, lets pass on the word. Shall we?
There is one false alert. This is common with unsigned C# programs.
Proof
.Download:







