Я понял, что моя версия получения правильного baseaddress
была неправильной
Process[] iexp = Process.GetProcessesByName("Solitaire");
if (iexp.Length == 0) {
//EXIT
}
Process internet = iexp[0];
uint baseAddress = (uint)internet.MainModule.BaseAddress.ToInt64();
но baseaddress
не так
Я также посмотрел в MSDN , но этот код очень странный и дает мне бесконечный цикл.
Надеюсь, вы мне поможете, потому что я не могу найти ни одного примера.
РЕДАКТИРОВАТЬ:
ReadProcessMemory(readHandle, ((IntPtr)(((baseAddress) + 0x14) + 0x50)), bytes, (UIntPtr)4, ref rw);
Здесь я сделал изображение моего рабочего стола.
Я очень запутался, может кто-то знает, где я допустил ошибку.
http://i.stack.imgur.com/50lva.jpg