2
相対仮想アドレスとファイルのベースからのオフセットの違いは何ですか?オフセットとRVAの差
相対仮想アドレスとファイルのベースからのオフセットの違いは何ですか?オフセットとRVAの差
RVAは相対仮想アドレス、つまり優先ベースアドレスからの距離です。好ましいベースアドレスはPEヘッダに記載され、実行可能ファイルがメモリにロードされるときのメモリ内のイメージの開始の(好ましい)仮想アドレスである。
ファイルオフセットは、ファイルのどこかに到着するためにPEファイルの先頭から読み取らなければならないバイト数です。したがって、セクションがある場合は、セクションヘッダーにセクションのRVAとファイル内のオフセットの両方が表示されます。一度ロードされた仮想メモリの量とPEファイル内のセクションデータのサイズを示すものの2つのサイズがあります。
PE内の多くの参照は、RVAsとして与えられます。そのような場合、参照のPEファイル内のオフセットを取得するには、すべてのセクションヘッダをチェックインする必要があります(またはある種のマップが必要です)。
rvaをオフセットに変換する他の方法はありますか? – user1232138
相対仮想アドレスと仮想アドレスの違いは何ですか? – user1232138
rvaをオフセットに変換するには、rvaを使ってセクションヘッダを手にして、 "virtual_address"と "virtual_size"フィールドで指定されたrva範囲がrvaを包含するセクションを見つける必要があります。 – dsign