タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

API hookに関するtatac1のブックマーク (1)

  • APIフック (Cライブラリ関数やWindowsAPIの書き換え) と、その応用例 - Qiita

    概要 モジュールの実行可能領域のインポートセクションを書き替えることで、 Cライブラリ関数やWindowsAPI関数の呼び出しを別の関数呼び出しに差し替えます。 何故これが必要か プロジェクト内のソースがすべて自前で管理されているなら、 置き換えたい関数のラッパー関数を作るとか、もしくは美醜はさておき define で置換もできますし、 今回みたいな大げさなことをする必要はあんまりないです。 問題はサードパーティ製ライブラリの挙動です。 製作元を介さずにこれを書き替える必要って多々あります。 以下、「使用例」の項にいくつか例を示します。 影響範囲など DLLの関数置き換えなどが発生するわけですが、 「え、それって他アプリにも影響するんじゃないの?」って思う方もおられるかもしれませんが、 結論を言うと他アプリには影響しません。(影響を与える手法も存在しますが今回は触れません) 何故なら、書き

    APIフック (Cライブラリ関数やWindowsAPIの書き換え) と、その応用例 - Qiita
  • 1