I've been a leecher on these forums for a while now and I've seen that quite a whole lot of people are interested in making bots for world of warcraft.
So I thought I'd make a guide on how to get started.
Requirements
- MVS 2010
- BlackMagic
Start off by creating a new C# project (.NET Framework 3.5)
And add the 2 BlackMagic DLL's as reference.
The Code
Start of with the following code
Notice the "Using Magic;" this is the BlackMagic library.Code:using System; using System.Collections.Generic; using System.Linq; using System.Text; using Magic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } }
Now let's call the DLL, followed by finding the process and checking if the process was found. If it is found then print a "successful" message else print a error message.
Now let's get World of Warcrafts Base Address and read the player name as well as print it.Code:using System; using System.Collections.Generic; using System.Linq; using System.Text; using Magic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { BlackMagic BMagic = new BlackMagic(); if (BMagic.OpenProcessAndThread(SProcess.GetProcessFromProcessName("Wow"))) { Console.WriteLine("Found and Attached the World of Warcraft Process!"); } else { Console.WriteLine("The World of Warcraft Process was not found!"); Console.ReadLine(); } } } }
And that's all there is too it.Code:using System; using System.Collections.Generic; using System.Linq; using System.Text; using Magic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { BlackMagic BMagic = new BlackMagic(); if (BMagic.OpenProcessAndThread(SProcess.GetProcessFromProcessName("Wow"))) { Console.WriteLine("Found and Attached the World of Warcraft Process!"); IntPtr BaseWoW = BMagic.MainModule.BaseAddress; string pName = BMagic.ReadASCIIString((uint)BaseWoW + 0x99B077, 256); //4.3.0 [15005] Console.WriteLine("Character name is " + pName); Console.ReadLine(); } else { Console.WriteLine("The World of Warcraft Process was not found!"); Console.ReadLine(); } } } }
Have a good one.