メモリアドレスが静的な4バイト値を指しているときに動作するメモリから値を読み取るコードがありますが、ダイナミックにある4バイトの値にアクセスしようとしています場所と最初にポインタを検索し、再度4バイトの値を取得するために検索する必要があります。以下はC#ReadProcessMemory - ポインタへのアクセス/読み取り
は、ポインタのアドレスを返す必要があり、私が持っているコードですが、それは単に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();
誰でも当てることができますが住所を見つけてその住所を検索して価値を見つけるために何をする必要があるのかを知ることができますか?
'ReadProcessMemory'は何を返しますか?それはちょうど失敗しているかもしれません、その場合には 'GetLastError'がいくつかの光を放つかもしれません。 –