サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

DDetoursライブラリを利用してWindowsアプリケーションを迅速かつ簡単にフックする

hook delphi and windows api functions with ddetours ja

「フック(フッキング)」とは、ソフトウェア/コンポーネント間で渡されるWindows API関数などの呼び出し、メッセージ、またはイベントをインターセプト(傍受)することにより、オペレーティングシステム、アプリケーション、または他のソフトウェア部品の動作を変更または拡張するための方法です。

DDetoursは、関数にフックを挿入、あるいは関数からフックを削除可能なライブラリで、Windows 32ビット/64ビットの両方のアーキテクチャをサポートしています。このライブラリの基本的な考え方は、インターセプトされた関数への無条件ジャンプ命令を挿入することで、ターゲット関数のプロローグを置換することです。

フッキングのルール

DDetoursライブラリを利用して正しくフッキングを実行するには、以下のルールに従う必要があります。

DDetoursライブラリを利用したサンプルコードは、以下の通りです。

[crayon-67689a44bb432654169557/]

DDetoursライブラリは、無償で利用可能なオープンソースですが、Mozilla Public License 2.0として規定されています。このライブラリはGitHub経由でこちらから入手できます。なお、エンバカデロではこのライブラリに関するテクニカルサポートサービスは提供しておりません。

モバイルバージョンを終了