У меня почти также. Осталось побороть ASLR. Не очень понял зачем нужен BaseAddress в C#. Для чтения я прибегнул к функции ReadProcessMemory из библиотеки kernel32.
В ХР я читал так
Код:
public byte[] ReadSessionKey()
{
using (ProcessMemoryReader reader = new ProcessMemoryReader("wow"))
{
return reader.Read(reader.ReadInt(_wow.SessionKey) + _wow.Offset, 40L);
}
}
Код:
public long SessionKey = 0x00D7DA5C;
public long Offset = 0x508;