1

リモートプロセスでVirtualAllocExを使用して、次のようなスペースを予約します。

VirtualAllocEX (RemoteProcessHandle, nil, SizeInBytes, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

次に、割り当てられたアドレス空間を「埋​​める」/書き込むWriteProcessMemory

それから私は適切に使用します

VirtualFreeEx (RemoteProcessHandle, Address, 0, MEM_RELEASE);

割り当てられたスペースを解放します。

成功したかどうかを確認するために呼び出されたVirtualAllocEx のアドレスを確認することは可能ですか?VirtualFreeExVirtualFreeEx

4

1 に答える 1

4

アドレスをシステムに返すとすぐに、そのアドレスの今後の参照はすべて無効になります。の呼び出しに成功したら、再度VirtualFreeExを参照してはなりませんAddress。システムにアドレスを返すと、システムがそのアドレスを所有します。将来そのアドレスを有効にする唯一の方法は、 を再度呼び出すことVirtualAllocExです。

于 2013-02-04T03:50:15.617 に答える