0

ReadProcessMemoryを使用して動的な量のバイトを配列に読み込み、それを返そうとしています。私はそれを正しく動作させることができません。私の現在のコードは...

byte *Application::readMemory(DWORD address, int length) {
    byte *buffer = new byte[length];
    SIZE_T bytesRead;
    ReadProcessMemory(piProcessInfo.hProcess, (void *)address, &buffer, length, &bytesRead);
    return buffer;
}

どんな助けでもいただければ幸いです。

4

1 に答える 1

4

あるべきではない

   ReadProcessMemory(piProcessInfo.hProcess, (void *)address, buffer, length, &bytesRead);

?入力パラメーターとしてバッファーポインターアドレスを指定すると、ReadProcessMemoryは、バッファーポインターが存在する場所(バッファーではなく、可変以上のバッファーポインター)にそれをコピーします。スタック上にある場合は、スタックが破損します。

于 2011-10-07T14:24:54.517 に答える