|
> IMAGE_SECTION_HEADER 構造体の VirtualAddress と VirtualSize から、インポートデスクリプタを含むセクションを探します。 > このセクションは、メモリ上では VirtualAddress が指す位置に、ファイル上では PointerToRawData が指す位置にありますので、VirtualAddress - PointerToRawData を データディクショナリの RVA から引いてやれば、ファイル上での位置がわかります。 なるほど。 IMAGE_SECTION_HEADER 構造体から「インポートデスクリプタを含むセクション」の判断にNameメンバが".idata"かどうかで比較しようとしていたのですが、必ずしも".idata"でなかったらと考えていました。 アドレスで判断すればいいんですね。
> もっと簡単な方法としては、ImageDirectoryEntryToData 関数もあります。 > この関数はメモリ上のイメージもファイルも両方対応しています。 勉強がてらでしたので、上記APIは使わずに自力でやろうとしてました。
ありがとうございます。解決とさせてもらいます。
|