.NETでメモリアクセスを試しています。現在、アンマネージBaseAddress
プロセスを開始し、ロードされたモジュールの1つ(DLL)を取得するマネージプログラムがあります。私がやりたいのは、ロードされたモジュールのPEヘッダーを何らかの方法で読み取って、後でそのエクスポートのアドレスを取得できるようにすることです。
残念ながら、これに関する適切な情報は見つかりません。何か案は?
.NETでメモリアクセスを試しています。現在、アンマネージBaseAddress
プロセスを開始し、ロードされたモジュールの1つ(DLL)を取得するマネージプログラムがあります。私がやりたいのは、ロードされたモジュールのPEヘッダーを何らかの方法で読み取って、後でそのエクスポートのアドレスを取得できるようにすることです。
残念ながら、これに関する適切な情報は見つかりません。何か案は?
これは、PEファイル形式の開始点として適しています。
ヘッダーをプロセスにコピーする必要があるベースアドレスからReadProcessMemoryをP/Invokeできます。さまざまなPEヘッダーに読み込んだメモリを解析する必要があります。最初のヘッダーはIMAGE_DOS_HEADERで、これはIMAGE_NT_HEADERSを指します。次に、IMAGE_NT_HEADERSのIMAGE_OPTIONAL_HEADERを使用して、バイナリ内のIMAGE_EXPORT_DIRECTORYの場所を見つけることができます。