У меня есть код для чтения значения из памяти, который работает, когда адрес памяти указывает на статическое 4-байтовое значение, но я пытаюсь получить доступ к 4-байтовому значению, которое находится в динамическом местоположении, и поэтому мне нужно найти сначала указатель, затем поиск, чтобы получить 4-байтовое значение.
Ниже приведен код, который должен возвращать адрес указателя, но он просто выводит 0 ...
bAddr = (IntPtr)0x0017C370; // Base address to find the Pointer (Currently: 0x00267A50)
ReadProcessMemory(hProc, bAddr, buffer, 4, out bytesRW);
output = BitConverter.ToInt32(buffer, 0);
txtOutput.Text = output.ToString();
Псевдокод, который я вижу, работает как:
bAddr = (IntPtr)0x0017C370; // Base address to find the Pointer (Currently: 0x00267A50)
ReadProcessMemory(hProc, bAddr, buffer, 4, out bytesRW);
output = BitConverter.ToInt32(buffer, 0);
bAddr = (IntPtr)output; // Should now contain the address 0x00267A50
ReadProcessMemory(hProc, bAddr, buffer, 4, out bytesRW);
output = BitConverter.ToInt32(buffer, 0);
txtOutput.Text = output.ToString();
Может ли кто-нибудь пролить свет на то, что мне нужно сделать, чтобы найти адрес, а затем найти этот адрес, чтобы найти значение?