メモリにロードされたモジュールの PE ヘッダーを読み取るにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1563134

質問

.NETでメモリアクセスを実験しています。現時点では、を開始するマネージドプログラムがあります。 管理されていない を処理して取得します BaseAddress ロードされたモジュール (DLL) の 1 つ。私がやりたいのは、ロードされたモジュールのPEヘッダーを何らかの方法で読み取り、後でそのエクスポートのアドレスを取得できるようにすることです。

残念ながら、これに関する良い情報は見つかりませんでした。何か案は?

役に立ちましたか?

解決

これ PE ファイル形式の開始点として適しています。

P/Invokeできます 読み取りプロセスメモリ ベースアドレスからヘッダーをプロセスにコピーする必要があります。さまざまな PE ヘッダーに読み込んだメモリを解析する必要があります。最初のヘッダーは、 IMAGE_DOS_HEADER, を参照すると、 IMAGE_NT_HEADERS. 。その後、 IMAGE_OPTIONAL_HEADER IMAGE_NT_HEADERS 内で、 IMAGE_EXPORT_DIRECTORY バイナリで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top