2016-11-13 6 views
-1

PEヘッダのバインドされたインポートと遅延されたインポートの違いを説明できますか。私はいくつかの本を参照しましたが、私はそれを明確に理解できません。私を助けてください。PEヘッダのバインドされたインポートと遅延されたインポートの違い

+0

です。Stackoverflowへようこそ。 http://stackoverflow.com/help/how-to-askを参照し、問題を少し説明するタイトルを使用してください。 – Mrlenny

答えて

0

バインドされたインポートとは、PEインポートテーブルに、これらの機能を持つDLLの特定のバージョンのインポート関数の固定(バインド)アドレスを格納することを意味します。結合されたアドレスは、プログラムのコンパイルおよびリンクフェーズ中にリンカによってインポートテーブルに計算され、書き込まれます。

遅延インポートとは、インポート関数ではなくインポートテーブルで、関数が呼び出されたときに実際にインポートされた関数アドレスの代わりに「遅延ロードヘルパー」(時には「サンク」とも呼ばれる)という特別なプログラム部分のアドレスを含むことを意味します。初めて。その後の関数呼び出しは、遅延ロードヘルパーによって書き込まれた実関数アドレスを使用します。

これがコンセプトです。 IczelionのPEチュートリアルの詳細は、たとえば