Code:
#region Warden
//http://www.mmowned.com/forums/world-of-warcraft/bots-programs/memory-editing/317386-wow-warden-watched-address-list-including-length-bytes.html
//28/01/11: 11:45 GMT
class Warden
{
public uint offs;
public uint lengh;
public Warden(uint _offs, uint _l)
{
this.offs = _offs;
this.lengh = _l;
}
}
List<Warden> wardens = new List<Warden>()
{ new Warden(0x90670, 0x9),
new Warden(0x8F2E0, 0x9),
new Warden(0x421EF4, 0x4),
new Warden(0x55B2CD, 0xC),
new Warden(0x39CAC4,0x7 ),
new Warden(0x36F5BD, 0x6),
new Warden(0x731728, 0x8),
new Warden(0x39D8DE, 0x5),
new Warden(0x557961, 0x6),
new Warden(0x63D3D0, 0x9),
new Warden(0x18600B, 0x4),
new Warden(0x451070, 0xC),
new Warden(0x8031BC, 0x8),
new Warden(0x45D5, 0x5),
new Warden(0x15A7E0, 0xB),
new Warden(0x44C96E, 0x5),
new Warden(0x185520, 0xA),
new Warden(0xD490, 0x6),
new Warden(0x2345B0, 0x8),
new Warden(0x20F433, 0xB),
new Warden(0x3A007E, 0x5),
new Warden(0x1CEFCD, 0x7),
new Warden(0x554A48, 0x9),
new Warden(0x6D5EC0, 0x8),
new Warden(0x15B1C2, 0x1),
new Warden(0x283D08, 0x5),
new Warden(0xD60C1, 0x8),
new Warden(0x4547F8, 0x7),
new Warden(0x17CF30,0x6 ),
new Warden(0xC9F2A, 0x5),
new Warden(0xD3B72,0x8 ),
new Warden(0x35AC4, 0x7),
new Warden(0x451540, 0x9),
new Warden(0x4546B0,0xC ),
new Warden(0x642B10, 0x9),
new Warden(0x427072, 0x7),
new Warden(0x8FE40, 0x9),
new Warden(0x1BCA20, 0xA),
new Warden(0x45ED, 0x6),
new Warden(0x132A,0x6 ),
new Warden(0x439BE6, 0x5),
new Warden(0x1796D0, 0x9),
new Warden(0x6DB944, 0x8),
};
#endregion
public void Write(uint adres, byte[] b)
{
foreach (Warden w in wardens)
{
if (w.offs > (adres + b.Length) || (w.offs + w.lengh) < adres)
continue;
throw new Exception("WARDEN!!!");
}
Console.WriteLine("Write:" + string.Format("{0:x2}", adres));
MEM.WriteBytes(handle, adres, b);
}