I got bored the other day so I decided to mess around with some C#, and the BlackMagic library. I have done minimal work with C#, so if something could be done a better way feel free to point it out.
Anyway I decided to try detour the object tracking function. It worked, so I am posting it here because someone may find it useful
Syntax Highlighting (NoMorePasting.com)
Code:
static void Detour( uint codeCave, uint Address, byte[] hook_func, ref BlackMagic WoW )
{
Console.WriteLine("Detouring 0x{0:X}", Address);
Console.WriteLine("With Function at 0x{0:X}", codeCave);
WoW.WriteBytes(codeCave, hook_func);
//Our function is in memory
WoW.Asm.Clear();
WoW.Asm.AddLine("push {0}", codeCave);
WoW.Asm.AddLine("retn"); //pops codeCave from the stack into EIP
WoW.WriteBytes(Address, WoW.Asm.Assemble()); //Detour the Function
}
static void Main(string[] args)
{
/////////////
//WoW 3.0.9//
/////////////
BlackMagic WoW = new BlackMagic(SProcess.GetProcessFromProcessName("WoW"));
uint CodeCave = WoW.AllocateMemory();
WoW.Asm.Clear(); //Make sure no ASM lines exist
//An STD call that returns true
WoW.Asm.AddLine("mov al,1");
WoW.Asm.AddLine("retn 4");
//0x00633470 -> ObjectTracking
Detour(CodeCave,0x00633470, WoW.Asm.Assemble(), ref WoW);
//tracking all objects
Console.ReadLine();
}
The only real limitation is that if you want to do something complex you will need good ASM skills 
Now I canz track stuff :P

EDIT: I just remembered, i think there is a similar thing on GD so if you want more information look there....but i don't know if it is the same thing...i haven't looked...