概要 ある実行可能ファイルから、他の実行可能ファイル (DLL) にある関数を呼び出すために、実行可能ファイルのヘッダー情報の中のインポートセクションという場所に記録されている情報を使います。 インポートセクションには、「この EXE (または DLL) は foo.dll の Bar() 関数を呼び出しますよ。アドレスはここです。」 というような情報が書いてあります。この資料ではその仕組み、特に実際の関数のアドレ スが記載されているインポートアドレステーブルの仕組みを説明します。最後にこれを活用する例として、MessageBox API をフックして自前の関数を呼び出してみます。 インポート セクションと IAT いわゆる普通の実行ファイル (EXE) は PE (Portable Executable) 形式と呼ばれるフォーマットです。その詳細は別の回でご説明したいと思いますが、今回の
![インポートアドレステーブルと API フック - Web/DB プログラミング徹底解説](https://cdn-ak-scissors.b.st-hatena.com/image/square/293fb6ec3ff4a9e3b998c9e77aed61d41bef5b29/height=288;version=1;width=512/https%3A%2F%2Fwww.keicode.com%2Fimg%2Fog-image-1.png)