Hello, made this simple memory reading library wiche should be fairly simple to use 
It does contain functions for memory writing aswell but they are not tested.
Source -> Send big files the easy way. Files too large for email attachments? No problem!
Just the Dlll -> Send big files the easy way. Files too large for email attachments? No problem!
How to add it to your project (if you dont know this then you should just leave)
Select project -> Add Refrence...
A window will popup, select the Browse tab at the top of the window.
Browse to the Dll file and select it.
Press the OK button in bottom right corner, left of Cancel button.
Example code.
Code:
using System;
namespace Example
{
class Program
{
static void Main(string[] args)
{
Memory.Memory Wow_Process = new Memory.Memory();
Console.WriteLine("Searching for Wow process");
//You could use a PID insted of "Wow".
//Just incase you would like to make your own process selection box or whatever.
while (!Wow_Process.SetProcess("Wow", "Read"))
{
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Found a Wow Process");
UInt32 clientConnection, CurMgr, curObj;
UInt64 PlayerGuid;
int Object_Counter = 1;
clientConnection = Wow_Process.ReadUInt32((IntPtr)0x011CA260); //g_clientConnection
CurMgr = Wow_Process.ReadUInt32((IntPtr)(clientConnection + 0x2864)); //0x2864 is the s_CurMgr Offset
PlayerGuid = Wow_Process.ReadUInt32((IntPtr)(CurMgr + 0xC0)); //0xC0 is a offset to get player GUID
curObj = Wow_Process.ReadUInt32((IntPtr)(CurMgr + 0xAC)); //0xAC is the offset to get a pointer to the first object
while (curObj != 0 && curObj % 2 == 0)
{
Console.WriteLine("[" + Object_Counter + "] Object at -> " + curObj);
curObj = Wow_Process.ReadUInt32((IntPtr)(curObj + 0x3C));
Object_Counter += 1;
}
Console.WriteLine("Found " + (Object_Counter - 1) + " Object");
Console.ReadLine();
}
}
}